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.
  • Constructor Details

    • ReplaceValueHoldersIterator

      public ReplaceValueHoldersIterator(RemoteSessionController controller)
      public constructor
  • Method Details

    • 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 class DescriptorIterator
    • 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 class DescriptorIterator
    • iterate

      protected void iterate(Object object)
      if we get here, it is a domain object
      Specified by:
      iterate in class DescriptorIterator
    • 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.