Class ReplaceValueHoldersIterator
- java.lang.Object
-
- org.eclipse.persistence.internal.descriptors.DescriptorIterator
-
- org.eclipse.persistence.internal.sessions.remote.ReplaceValueHoldersIterator
-
public class ReplaceValueHoldersIterator extends DescriptorIterator
Helper class for RemoteSessionController. This descriptor iterator will replace all the normal value holders in an object with remote value holders that can be serialized to the client.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.persistence.internal.descriptors.DescriptorIterator
DescriptorIterator.CascadeCondition
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.internal.descriptors.DescriptorIterator
CascadeAllParts, cascadeCondition, cascadeDepth, CascadePrivateParts, currentDescriptor, currentGroup, currentItem, currentMapping, forDetach, NoCascading, result, session, shouldBreak, shouldIterateOnAggregates, shouldIterateOnFetchGroupAttributesOnly, shouldIterateOnIndirectionObjects, shouldIterateOnPrimitives, shouldIterateOverIndirectionObjects, shouldIterateOverUninstantiatedIndirectionObjects, shouldIterateOverWrappedObjects, shouldTrackCurrentGroup, usesGroup, visitedObjects, visitedStack
-
-
Constructor Summary
Constructors Constructor Description ReplaceValueHoldersIterator(RemoteSessionController controller)
public constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ObjectDescriptor
buildObjectDescriptor(Object object)
build and return an object descriptor for the specified objectprotected RemoteValueHolder
buildRemoteValueHolderFor(ValueHolderInterface valueHolder)
build a properly initialized remote value holderprotected void
initialize(RemoteSessionController controller)
initialize instanceprotected void
internalIterateIndirectContainer(IndirectContainer container)
Iterate an indirect container.protected void
internalIterateValueHolder(ValueHolderInterface originalValueHolder)
Synchronously create a remote value holder.protected void
iterate(Object object)
if we get here, it is a domain objectprotected void
saveRemoteValueHolder(RemoteValueHolder remoteValueHolder)
save the remote value holder for later useprotected void
setOneToOneMappingSettingsIn(RemoteValueHolder remoteValueHolder)
Set one-to-one mapping information.-
Methods inherited from class org.eclipse.persistence.internal.descriptors.DescriptorIterator
getCascadeDepth, getCurrentDescriptor, getCurrentGroup, getCurrentItem, getCurrentMapping, getDescriptorFor, getResult, getSession, getVisitedGrandparent, getVisitedObjects, getVisitedParent, getVisitedStack, internalIterateAggregateObject, internalIteratePrimitive, internalIterateReferenceObject, internalIterateReferenceObjects, isForDetach, iterateForAggregateMapping, iterateIndirectContainerForMapping, iteratePrimitiveForMapping, iterateReferenceObjectForMapping, iterateReferenceObjects, iterateValueHolderForMapping, setCascadeCondition, setCascadeDepth, setCurrentDescriptor, setCurrentGroup, setCurrentItem, setCurrentMapping, setForDetach, setResult, setSession, setShouldBreak, setShouldIterateOnAggregates, setShouldIterateOnFetchGroupAttributesOnly, setShouldIterateOnIndirectionObjects, setShouldIterateOnPrimitives, setShouldIterateOverIndirectionObjects, setShouldIterateOverUninstantiatedIndirectionObjects, setShouldIterateOverWrappedObjects, setShouldTrackCurrentGroup, setVisitedObjects, setVisitedStack, shouldBreak, shouldCascadeAllParts, shouldCascadeNoParts, shouldCascadePrivateParts, shouldIterateOnAggregates, shouldIterateOnFetchGroupAttributesOnly, shouldIterateOnIndirectionObjects, shouldIterateOnPrimitives, shouldIterateOverIndirectionObjects, shouldIterateOverUninstantiatedIndirectionObjects, shouldIterateOverWrappedObjects, shouldTrackCurrentGroup, startIterationOn, startIterationOn, usesGroup
-
-
-
-
Constructor Detail
-
ReplaceValueHoldersIterator
public ReplaceValueHoldersIterator(RemoteSessionController controller)
public constructor
-
-
Method Detail
-
buildObjectDescriptor
protected ObjectDescriptor buildObjectDescriptor(Object object)
build and return an object descriptor for the specified object
-
buildRemoteValueHolderFor
protected RemoteValueHolder buildRemoteValueHolderFor(ValueHolderInterface valueHolder)
build a properly initialized remote value holder
-
initialize
protected void initialize(RemoteSessionController controller)
initialize instance
-
internalIterateIndirectContainer
protected void internalIterateIndirectContainer(IndirectContainer container)
Iterate an indirect container.- Overrides:
internalIterateIndirectContainer
in classDescriptorIterator
-
internalIterateValueHolder
protected void internalIterateValueHolder(ValueHolderInterface originalValueHolder)
Synchronously create a remote value holder. The value holder passed in is ignored so that we can ensure that the value holder being held by the object is used instead of the one that was passed in.- Overrides:
internalIterateValueHolder
in classDescriptorIterator
-
iterate
protected void iterate(Object object)
if we get here, it is a domain object- Specified by:
iterate
in classDescriptorIterator
-
saveRemoteValueHolder
protected void saveRemoteValueHolder(RemoteValueHolder remoteValueHolder)
save the remote value holder for later use
-
setOneToOneMappingSettingsIn
protected void setOneToOneMappingSettingsIn(RemoteValueHolder remoteValueHolder)
Set one-to-one mapping information. This allows us to look for a cache hit before going to the database.
-
-