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.
-
-
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 boolean
hasPerformedSchemaUpdates()
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)
-
-
-
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:
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
public void storeStringField(int fieldNumber, String value)
- 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)
-
-