Class DynamicSchemaFieldManager

java.lang.Object
org.datanucleus.store.fieldmanager.AbstractFieldManager
org.datanucleus.store.rdbms.fieldmanager.DynamicSchemaFieldManager
All Implemented Interfaces:
org.datanucleus.store.fieldmanager.FieldManager

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

    • rdbmsMgr

      Manager for the RDBMS datastore.
    • sm

      org.datanucleus.state.DNStateManager sm
      StateManager of the object being processed.
    • schemaUpdatesPerformed

      boolean schemaUpdatesPerformed
      Flag for whether we have updated the schema.
  • Constructor Details

    • DynamicSchemaFieldManager

      public DynamicSchemaFieldManager(RDBMSStoreManager rdbmsMgr, org.datanucleus.state.DNStateManager sm)
      Constructor.
      Parameters:
      rdbmsMgr - RDBMSManager
      sm - StateManager for the object being processed
  • Method Details

    • 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.FieldManager
      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.FieldManager
      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.FieldManager
      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.FieldManager
      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.FieldManager
      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.FieldManager
      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.FieldManager
      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.FieldManager
      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.FieldManager
      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.FieldManager
      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)