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.AbstractFieldManagerField 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 Summary
Constructors Constructor Description DynamicSchemaFieldManager(RDBMSStoreManager rdbmsMgr, org.datanucleus.state.DNStateManager sm)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanhasPerformedSchemaUpdates()Accessor for whether this field manager has made updates to the schema.protected voidprocessInterfaceMappingForValue(InterfaceMapping intfMapping, Object value, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.ExecutionContext ec)voidstoreBooleanField(int fieldNumber, boolean value)voidstoreByteField(int fieldNumber, byte value)voidstoreCharField(int fieldNumber, char value)voidstoreDoubleField(int fieldNumber, double value)voidstoreFloatField(int fieldNumber, float value)voidstoreIntField(int fieldNumber, int value)voidstoreLongField(int fieldNumber, long value)voidstoreObjectField(int fieldNumber, Object value)Method to store an object field into the attached instance.voidstoreShortField(int fieldNumber, short value)voidstoreStringField(int fieldNumber, String value)
-
-
-
Constructor Detail
-
DynamicSchemaFieldManager
public DynamicSchemaFieldManager(RDBMSStoreManager rdbmsMgr, org.datanucleus.state.DNStateManager sm)
Constructor.- Parameters:
rdbmsMgr- RDBMSManagersm- 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, Object value)Method to store an object field into the attached instance.- Specified by:
storeObjectFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeObjectFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager- Parameters:
fieldNumber- Number of the field to storevalue- the value in the detached instance
-
storeBooleanField
public void storeBooleanField(int fieldNumber, boolean value)- Specified by:
storeBooleanFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeBooleanFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeByteField
public void storeByteField(int fieldNumber, byte value)- Specified by:
storeByteFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeByteFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeCharField
public void storeCharField(int fieldNumber, char value)- Specified by:
storeCharFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeCharFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeDoubleField
public void storeDoubleField(int fieldNumber, double value)- Specified by:
storeDoubleFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeDoubleFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeFloatField
public void storeFloatField(int fieldNumber, float value)- Specified by:
storeFloatFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeFloatFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeIntField
public void storeIntField(int fieldNumber, int value)- Specified by:
storeIntFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeIntFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeLongField
public void storeLongField(int fieldNumber, long value)- Specified by:
storeLongFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeLongFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeShortField
public void storeShortField(int fieldNumber, short value)- Specified by:
storeShortFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeShortFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeStringField
public void storeStringField(int fieldNumber, String value)- Specified by:
storeStringFieldin interfaceorg.datanucleus.store.fieldmanager.FieldManager- Overrides:
storeStringFieldin classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
processInterfaceMappingForValue
protected void processInterfaceMappingForValue(InterfaceMapping intfMapping, Object value, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.ExecutionContext ec)
-
-