Top Description Fields Constructors Methods
org.eclipse.persistence.internal.sessions.remote

public Class ReplaceValueHoldersIterator

extends DescriptorIterator
Class Inheritance
Imports
java.util.*, org.eclipse.persistence.indirection.*, org.eclipse.persistence.mappings.*, org.eclipse.persistence.internal.descriptors.*, org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder

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.

Field Summary

Modifier and TypeField and Description
pack-priv RemoteSessionController
Inherited from org.eclipse.persistence.internal.descriptors.DescriptorIterator:
CascadeAllPartscascadeConditioncascadeDepthCascadePrivatePartscurrentDescriptorcurrentGroupcurrentItemcurrentMappingforDetachNoCascadingresultsessionshouldBreakshouldIterateOnAggregatesshouldIterateOnFetchGroupAttributesOnlyshouldIterateOnIndirectionObjectsshouldIterateOnPrimitivesshouldIterateOverIndirectionObjectsshouldIterateOverUninstantiatedIndirectionObjectsshouldIterateOverWrappedObjectsshouldTrackCurrentGroupusesGroupvisitedObjectsvisitedStack

Constructor Summary

AccessConstructor and Description
private
ReplaceValueHoldersIterator()

default constructor

public

Method Summary

Modifier and TypeMethod and Description
protected ObjectDescriptor
buildObjectDescriptor(Object object)

build and return an object descriptor for the specified object

protected RemoteValueHolder<T>
buildRemoteValueHolderFor(ValueHolderInterface<T> valueHolder)

build a properly initialized remote value holder

protected void
initialize(RemoteSessionController controller)

initialize instance

protected void
protected void
protected void
iterate(Object object)

Implements abstract org.eclipse.persistence.internal.descriptors.DescriptorIterator.iterate.

if we get here, it is a domain object
protected void
saveRemoteValueHolder(RemoteValueHolder<T> remoteValueHolder)

save the remote value holder for later use

protected void
setOneToOneMappingSettingsIn(RemoteValueHolder<T> remoteValueHolder)

Set one-to-one mapping information.

Inherited from org.eclipse.persistence.internal.descriptors.DescriptorIterator:
getCascadeDepthgetCurrentDescriptorgetCurrentGroupgetCurrentItemgetCurrentMappinggetDescriptorForgetResultgetSessiongetVisitedGrandparentgetVisitedObjectsgetVisitedParentgetVisitedStackinternalIterateAggregateObjectinternalIteratePrimitiveinternalIterateReferenceObjectinternalIterateReferenceObjectsisForDetachiterateForAggregateMappingiterateIndirectContainerForMappingiteratePrimitiveForMappingiterateReferenceObjectForMappingiterateReferenceObjectsiterateValueHolderForMappingsetCascadeConditionsetCascadeDepthsetCurrentDescriptorsetCurrentGroupsetCurrentItemsetCurrentMappingsetForDetachsetResultsetSessionsetShouldBreaksetShouldIterateOnAggregatessetShouldIterateOnFetchGroupAttributesOnlysetShouldIterateOnIndirectionObjectssetShouldIterateOnPrimitivessetShouldIterateOverIndirectionObjectssetShouldIterateOverUninstantiatedIndirectionObjectssetShouldIterateOverWrappedObjectssetShouldTrackCurrentGroupsetVisitedObjectssetVisitedStackshouldBreakshouldCascadeAllPartsshouldCascadeNoPartsshouldCascadePrivatePartsshouldIterateOnAggregatesshouldIterateOnFetchGroupAttributesOnlyshouldIterateOnIndirectionObjectsshouldIterateOnPrimitivesshouldIterateOverIndirectionObjectsshouldIterateOverUninstantiatedIndirectionObjectsshouldIterateOverWrappedObjectsshouldTrackCurrentGroupstartIterationOnstartIterationOnusesGroup

Field Detail

controllerback to summary
pack-priv RemoteSessionController controller

Constructor Detail

ReplaceValueHoldersIteratorback to summary
private ReplaceValueHoldersIterator()

default constructor

ReplaceValueHoldersIteratorback to summary
public ReplaceValueHoldersIterator(RemoteSessionController controller)

public constructor

Method Detail

buildObjectDescriptorback to summary
protected ObjectDescriptor buildObjectDescriptor(Object object)

build and return an object descriptor for the specified object

buildRemoteValueHolderForback to summary
protected RemoteValueHolder<T> buildRemoteValueHolderFor(ValueHolderInterface<T> valueHolder)

build a properly initialized remote value holder

initializeback to summary
protected void initialize(RemoteSessionController controller)

initialize instance

internalIterateIndirectContainerback to summary
protected void internalIterateIndirectContainer(IndirectContainer<C> container)

Overrides org.eclipse.persistence.internal.descriptors.DescriptorIterator.internalIterateIndirectContainer.

Iterate an indirect container.

Annotations
@Override
internalIterateValueHolderback to summary
protected void internalIterateValueHolder(ValueHolderInterface<T> originalValueHolder)

Overrides org.eclipse.persistence.internal.descriptors.DescriptorIterator.internalIterateValueHolder.

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.

Annotations
@Override
iterateback to summary
protected void iterate(Object object)

Implements abstract org.eclipse.persistence.internal.descriptors.DescriptorIterator.iterate.

if we get here, it is a domain object

Annotations
@Override
saveRemoteValueHolderback to summary
protected void saveRemoteValueHolder(RemoteValueHolder<T> remoteValueHolder)

save the remote value holder for later use

setOneToOneMappingSettingsInback to summary
protected void setOneToOneMappingSettingsIn(RemoteValueHolder<T> remoteValueHolder)

Set one-to-one mapping information. This allows us to look for a cache hit before going to the database.