Interface WrapperPolicy
-
- All Superinterfaces:
java.io.Serializable
public interface WrapperPolicy extends java.io.Serializable
Purpose: The wrapper policy can be used to wrap all objects read from the database in another object. This allows for EclipseLink to utilize one version of the class for its purposes and allows for the application to deal with another version of the object. The wrapper policy is used for things such as EJB Entity Beans and is directly used by the TopLink for WebLogic product for EJB Container Managed Persistence. It is assumed that relationships must be through the wrapper objects. Object identity is not maintained on the wrapper objects, only the wrapped object.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
PUBLIC: Required: Lets the policy perform initialization.boolean
isTraversable()
PUBLIC: Required: Return true if the wrapped value should be traversed.boolean
isWrapped(java.lang.Object object)
PUBLIC: Required: Return true if the object is already wrapped.void
setDescriptor(ClassDescriptor descriptor)
PUBLIC: Required: Set the descriptor.java.lang.Object
unwrapObject(java.lang.Object proxy, org.eclipse.persistence.internal.sessions.AbstractSession session)
PUBLIC: Required: Unwrap the object to return the implementation that is meant to be used by EclipseLink.java.lang.Object
wrapObject(java.lang.Object original, org.eclipse.persistence.internal.sessions.AbstractSession session)
PUBLIC: Required: Wrap the object to return the implementation that the application requires.
-
-
-
Method Detail
-
initialize
void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
PUBLIC: Required: Lets the policy perform initialization.- Parameters:
session
- the session to initialize against- Throws:
DescriptorException
-
isTraversable
boolean isTraversable()
PUBLIC: Required: Return true if the wrapped value should be traversed. Normally the wrapped value is looked after independently, it is not required to be traversed.
-
isWrapped
boolean isWrapped(java.lang.Object object)
PUBLIC: Required: Return true if the object is already wrapped.
-
setDescriptor
void setDescriptor(ClassDescriptor descriptor)
PUBLIC: Required: Set the descriptor.- Parameters:
descriptor
- the descriptor for the object being wrapped
-
unwrapObject
java.lang.Object unwrapObject(java.lang.Object proxy, org.eclipse.persistence.internal.sessions.AbstractSession session)
PUBLIC: Required: Unwrap the object to return the implementation that is meant to be used by EclipseLink. The object may already be unwrapped in which case the object should be returned.- Parameters:
proxy
- the wrapped objectsession
- the session to unwrap into
-
wrapObject
java.lang.Object wrapObject(java.lang.Object original, org.eclipse.persistence.internal.sessions.AbstractSession session)
PUBLIC: Required: Wrap the object to return the implementation that the application requires. The object may already be wrapped in which case the object should be returned.- Parameters:
original
- , the object to be wrappedsession
- the session to wrap the object against.- Returns:
- java.lang.Object the wrapped object
-
-