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 Summary
FieldsModifier and TypeFieldDescription(package private) RDBMSStoreManagerManager for the RDBMS datastore.(package private) booleanFlag for whether we have updated the schema.(package private) org.datanucleus.state.DNStateManagerStateManager of the object being processed. -
Constructor Summary
ConstructorsConstructorDescriptionDynamicSchemaFieldManager(RDBMSStoreManager rdbmsMgr, org.datanucleus.state.DNStateManager sm) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionbooleanAccessor 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) Methods inherited from class org.datanucleus.store.fieldmanager.AbstractFieldManager
fetchBooleanField, fetchByteField, fetchCharField, fetchDoubleField, fetchFloatField, fetchIntField, fetchLongField, fetchObjectField, fetchShortField, fetchStringField
-
Field Details
-
rdbmsMgr
RDBMSStoreManager rdbmsMgrManager for the RDBMS datastore. -
sm
org.datanucleus.state.DNStateManager smStateManager of the object being processed. -
schemaUpdatesPerformed
boolean schemaUpdatesPerformedFlag for whether we have updated the schema.
-
-
Constructor Details
-
DynamicSchemaFieldManager
public DynamicSchemaFieldManager(RDBMSStoreManager rdbmsMgr, org.datanucleus.state.DNStateManager sm) Constructor.- Parameters:
rdbmsMgr- RDBMSManagersm- 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
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
- 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)
-