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, 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 ObjectDescriptorbuildObjectDescriptor(java.lang.Object object)build and return an object descriptor for the specified objectprotected RemoteValueHolderbuildRemoteValueHolderFor(ValueHolderInterface valueHolder)build a properly initialized remote value holderprotected voidinitialize(RemoteSessionController controller)initialize instanceprotected voidinternalIterateIndirectContainer(IndirectContainer container)Iterate an indirect container.protected voidinternalIterateValueHolder(ValueHolderInterface originalValueHolder)Synchronously create a remote value holder.protected voiditerate(java.lang.Object object)if we get here, it is a domain objectprotected voidsaveRemoteValueHolder(RemoteValueHolder remoteValueHolder)save the remote value holder for later useprotected voidsetOneToOneMappingSettingsIn(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, iterateForAggregateMapping, iterateIndirectContainerForMapping, iteratePrimitiveForMapping, iterateReferenceObjectForMapping, iterateReferenceObjects, iterateValueHolderForMapping, setCascadeCondition, setCascadeDepth, setCurrentDescriptor, setCurrentGroup, setCurrentItem, setCurrentMapping, 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(java.lang.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:
internalIterateIndirectContainerin 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:
internalIterateValueHolderin classDescriptorIterator
-
iterate
protected void iterate(java.lang.Object object)
if we get here, it is a domain object- Specified by:
iteratein 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.
-
-