Class DynamicSchemaFieldManager

  • All Implemented Interfaces:
    org.datanucleus.store.fieldmanager.FieldConsumer, org.datanucleus.store.fieldmanager.FieldManager, org.datanucleus.store.fieldmanager.FieldSupplier

    public class DynamicSchemaFieldManager
    extends org.datanucleus.store.fieldmanager.AbstractFieldManager
    Field manager that is used to check the values in fields in order to detect "new" classes that impact on the datastore schema, hence allowing dynamic schema updates.
    • Constructor Detail

      • DynamicSchemaFieldManager

        public DynamicSchemaFieldManager​(RDBMSStoreManager rdbmsMgr,
                                         org.datanucleus.state.ObjectProvider op)
        Constructor.
        Parameters:
        rdbmsMgr - RDBMSManager
        op - ObjectProvider for the object being processed
    • Method Detail

      • hasPerformedSchemaUpdates

        public boolean hasPerformedSchemaUpdates()
        Accessor for whether this field manager has made updates to the schema.
        Returns:
        Whether updates have been made.
      • storeObjectField

        public void storeObjectField​(int fieldNumber,
                                     Object value)
        Method to store an object field into the attached instance.
        Specified by:
        storeObjectField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeObjectField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
        Parameters:
        fieldNumber - Number of the field to store
        value - the value in the detached instance
      • storeBooleanField

        public void storeBooleanField​(int fieldNumber,
                                      boolean value)
        Specified by:
        storeBooleanField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeBooleanField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • storeByteField

        public void storeByteField​(int fieldNumber,
                                   byte value)
        Specified by:
        storeByteField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeByteField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • storeCharField

        public void storeCharField​(int fieldNumber,
                                   char value)
        Specified by:
        storeCharField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeCharField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • storeDoubleField

        public void storeDoubleField​(int fieldNumber,
                                     double value)
        Specified by:
        storeDoubleField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeDoubleField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • storeFloatField

        public void storeFloatField​(int fieldNumber,
                                    float value)
        Specified by:
        storeFloatField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeFloatField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • storeIntField

        public void storeIntField​(int fieldNumber,
                                  int value)
        Specified by:
        storeIntField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeIntField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • storeLongField

        public void storeLongField​(int fieldNumber,
                                   long value)
        Specified by:
        storeLongField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeLongField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • storeShortField

        public void storeShortField​(int fieldNumber,
                                    short value)
        Specified by:
        storeShortField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeShortField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • storeStringField

        public void storeStringField​(int fieldNumber,
                                     String value)
        Specified by:
        storeStringField in interface org.datanucleus.store.fieldmanager.FieldConsumer
        Overrides:
        storeStringField in class org.datanucleus.store.fieldmanager.AbstractFieldManager
      • processInterfaceMappingForValue

        protected void processInterfaceMappingForValue​(InterfaceMapping intfMapping,
                                                       Object value,
                                                       org.datanucleus.metadata.AbstractMemberMetaData mmd,
                                                       org.datanucleus.ExecutionContext ec)