Class 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 Summary

      Fields 
      Modifier and Type Field Description
      (package private) RDBMSStoreManager rdbmsMgr
      Manager for the RDBMS datastore.
      (package private) boolean schemaUpdatesPerformed
      Flag for whether we have updated the schema.
      (package private) org.datanucleus.state.DNStateManager sm
      StateManager of the object being processed.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasPerformedSchemaUpdates()
      Accessor for whether this field manager has made updates to the schema.
      protected void processInterfaceMappingForValue​(InterfaceMapping intfMapping, java.lang.Object value, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.ExecutionContext ec)  
      void storeBooleanField​(int fieldNumber, boolean value)  
      void storeByteField​(int fieldNumber, byte value)  
      void storeCharField​(int fieldNumber, char value)  
      void storeDoubleField​(int fieldNumber, double value)  
      void storeFloatField​(int fieldNumber, float value)  
      void storeIntField​(int fieldNumber, int value)  
      void storeLongField​(int fieldNumber, long value)  
      void storeObjectField​(int fieldNumber, java.lang.Object value)
      Method to store an object field into the attached instance.
      void storeShortField​(int fieldNumber, short value)  
      void storeStringField​(int fieldNumber, java.lang.String value)  
      • Methods inherited from class org.datanucleus.store.fieldmanager.AbstractFieldManager

        fetchBooleanField, fetchByteField, fetchCharField, fetchDoubleField, fetchFloatField, fetchIntField, fetchLongField, fetchObjectField, fetchShortField, fetchStringField
      • Methods inherited from class java.lang.Object

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

      • sm

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

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

      • DynamicSchemaFieldManager

        public DynamicSchemaFieldManager​(RDBMSStoreManager rdbmsMgr,
                                         org.datanucleus.state.DNStateManager sm)
        Constructor.
        Parameters:
        rdbmsMgr - RDBMSManager
        sm - StateManager 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,
                                     java.lang.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,
                                     java.lang.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,
                                                       java.lang.Object value,
                                                       org.datanucleus.metadata.AbstractMemberMetaData mmd,
                                                       org.datanucleus.ExecutionContext ec)