Class DefaultPersistenceDelegate


  • public class DefaultPersistenceDelegate
    extends PersistenceDelegate
    Default PersistenceDelegate for normal classes. The instances of this class are used when other customized PersistenceDelegate is not set in the encoders for a particular type.
    See Also:
    Encoder
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultPersistenceDelegate()
      Constructs a DefaultPersistenceDelegate instance that supports the persistence of a bean which has a default constructor.
      DefaultPersistenceDelegate​(java.lang.String[] propertyNames)
      Constructs a DefaultPersistenceDelegate instance that supports the persistence of a bean which is constructed with some properties.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void initialize​(java.lang.Class<?> type, java.lang.Object oldInstance, java.lang.Object newInstance, Encoder enc)
      Initializes the new instance in the new environment so that it becomes equivalent with the old one, meanwhile recording this process in the encoder.
      protected Expression instantiate​(java.lang.Object oldInstance, Encoder enc)
      Returns an expression that represents a call to the bean's constructor.
      protected boolean mutatesTo​(java.lang.Object o1, java.lang.Object o2)
      Determines whether one object mutates to the other object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DefaultPersistenceDelegate

        public DefaultPersistenceDelegate()
        Constructs a DefaultPersistenceDelegate instance that supports the persistence of a bean which has a default constructor.
      • DefaultPersistenceDelegate

        public DefaultPersistenceDelegate​(java.lang.String[] propertyNames)
        Constructs a DefaultPersistenceDelegate instance that supports the persistence of a bean which is constructed with some properties.
        Parameters:
        propertyNames - the name of the properties that are taken as parameters by the bean's constructor
    • Method Detail

      • initialize

        protected void initialize​(java.lang.Class<?> type,
                                  java.lang.Object oldInstance,
                                  java.lang.Object newInstance,
                                  Encoder enc)
        Initializes the new instance in the new environment so that it becomes equivalent with the old one, meanwhile recording this process in the encoder.
        Overrides:
        initialize in class PersistenceDelegate
        Parameters:
        type - the type of the bean
        oldInstance - the original bean object to be recorded
        newInstance - the simmulating new bean object to be initialized
        enc - the encoder to write the outputs to
      • instantiate

        protected Expression instantiate​(java.lang.Object oldInstance,
                                         Encoder enc)
        Returns an expression that represents a call to the bean's constructor. The constructor may take zero or more parameters, as specified when this DefaultPersistenceDelegate is constructed.
        Specified by:
        instantiate in class PersistenceDelegate
        Parameters:
        oldInstance - the old instance
        enc - the encoder that wants to record the old instance
        Returns:
        an expression for instantiating an object of the same type as the old instance
      • mutatesTo

        protected boolean mutatesTo​(java.lang.Object o1,
                                    java.lang.Object o2)
        Determines whether one object mutates to the other object. If this DefaultPersistenceDelegate is constructed with one or more property names, and the class of o1 overrides the "equals(Object)" method, then o2 is considered to mutate to o1 if o1 equals to o2. Otherwise, the result is the same as the definition in PersistenceDelegate.
        Overrides:
        mutatesTo in class PersistenceDelegate
        Parameters:
        o1 - one object
        o2 - the other object
        Returns:
        true if second object mutates to the first object, otherwise false