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) RDBMSStoreManager
Manager for the RDBMS datastore.(package private) boolean
Flag for whether we have updated the schema.(package private) org.datanucleus.state.DNStateManager
StateManager of the object being processed. -
Constructor Summary
ConstructorsConstructorDescriptionDynamicSchemaFieldManager
(RDBMSStoreManager rdbmsMgr, org.datanucleus.state.DNStateManager sm) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Accessor for whether this field manager has made updates to the schema.protected void
processInterfaceMappingForValue
(InterfaceMapping intfMapping, 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, Object value) Method to store an object field into the attached instance.void
storeShortField
(int fieldNumber, short value) void
storeStringField
(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:
storeObjectField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeObjectField
in 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:
storeBooleanField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeBooleanField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeByteField
public void storeByteField(int fieldNumber, byte value) - Specified by:
storeByteField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeByteField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeCharField
public void storeCharField(int fieldNumber, char value) - Specified by:
storeCharField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeCharField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeDoubleField
public void storeDoubleField(int fieldNumber, double value) - Specified by:
storeDoubleField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeDoubleField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeFloatField
public void storeFloatField(int fieldNumber, float value) - Specified by:
storeFloatField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeFloatField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeIntField
public void storeIntField(int fieldNumber, int value) - Specified by:
storeIntField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeIntField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeLongField
public void storeLongField(int fieldNumber, long value) - Specified by:
storeLongField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeLongField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeShortField
public void storeShortField(int fieldNumber, short value) - Specified by:
storeShortField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeShortField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
storeStringField
- Specified by:
storeStringField
in interfaceorg.datanucleus.store.fieldmanager.FieldManager
- Overrides:
storeStringField
in classorg.datanucleus.store.fieldmanager.AbstractFieldManager
-
processInterfaceMappingForValue
protected void processInterfaceMappingForValue(InterfaceMapping intfMapping, Object value, org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.ExecutionContext ec)
-