EclipseLink 1.2.0, build 'v20091016-r5565' API Reference

org.eclipse.persistence.descriptors
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
 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 object
session - 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 wrapped
session - the session to wrap the object against.
Returns:
java.lang.Object the wrapped object

EclipseLink 1.2.0, build 'v20091016-r5565' API Reference