|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.datanucleus.store.rdbms.scostore.BaseContainerStore
org.datanucleus.store.rdbms.scostore.AbstractMapStore
public abstract class AbstractMapStore
Abstract representation of the backing store for a Map.
| Field Summary | |
|---|---|
protected boolean |
iterateUsingDiscriminator
Flag to set whether the iterator statement will use a discriminator or not. |
protected org.datanucleus.store.mapped.mapping.JavaTypeMapping |
keyMapping
Mapping to the key from the mapTable. |
protected boolean |
keysAreEmbedded
Whether the keys are embedded. |
protected boolean |
keysAreSerialised
Whether the keys are serialised. |
protected String |
keyType
Type of the key. |
protected org.datanucleus.metadata.AbstractClassMetaData |
kmd
Metadata for the keys (if persistable). |
protected org.datanucleus.store.mapped.DatastoreContainerObject |
mapTable
Table storing the map relation. |
protected org.datanucleus.store.mapped.mapping.JavaTypeMapping |
valueMapping
Mapping to the value from the mapTable. |
protected boolean |
valuesAreEmbedded
Whether the values are embedded. |
protected boolean |
valuesAreSerialised
Whether the values are serialised. |
protected org.datanucleus.store.mapped.DatastoreClass |
valueTable
Table storing the values. |
protected String |
valueType
Type of the value. |
protected org.datanucleus.metadata.AbstractClassMetaData |
vmd
Metadata for the values (if persistable). |
| Fields inherited from class org.datanucleus.store.rdbms.scostore.BaseContainerStore |
|---|
allowNulls, dba, LOCALISER, ownerMapping, ownerMemberMetaData, relationType, storeMgr |
| Constructor Summary | |
|---|---|
AbstractMapStore(RDBMSStoreManager storeMgr)
Constructor. |
|
| Method Summary | |
|---|---|
boolean |
containsKey(org.datanucleus.store.ObjectProvider sm,
Object key)
Method to check if a key exists in the Map. |
boolean |
containsValue(org.datanucleus.store.ObjectProvider sm,
Object value)
Method to check if a value exists in the Map. |
Object |
get(org.datanucleus.store.ObjectProvider sm,
Object key)
Method to return the value for a key. |
org.datanucleus.store.mapped.mapping.JavaTypeMapping |
getKeyMapping()
|
org.datanucleus.metadata.AbstractClassMetaData |
getKmd()
|
org.datanucleus.store.mapped.DatastoreContainerObject |
getMapTable()
|
protected String |
getUpdateEmbeddedKeyStmt(org.datanucleus.store.mapped.mapping.JavaTypeMapping fieldMapping,
org.datanucleus.store.mapped.mapping.JavaTypeMapping ownerMapping,
org.datanucleus.store.mapped.mapping.JavaTypeMapping keyMapping,
org.datanucleus.store.mapped.DatastoreContainerObject mapTable)
Generate statement for update the field of an embedded key. |
protected String |
getUpdateEmbeddedValueStmt(org.datanucleus.store.mapped.mapping.JavaTypeMapping fieldMapping,
org.datanucleus.store.mapped.mapping.JavaTypeMapping ownerMapping,
org.datanucleus.store.mapped.mapping.JavaTypeMapping valueMapping,
org.datanucleus.store.mapped.DatastoreContainerObject mapTable)
Generate statement for update the field of an embedded value. |
protected abstract Object |
getValue(org.datanucleus.store.ObjectProvider sm,
Object key)
Method to retrieve a value from the Map given the key. |
org.datanucleus.store.mapped.mapping.JavaTypeMapping |
getValueMapping()
|
org.datanucleus.metadata.AbstractClassMetaData |
getVmd()
|
protected void |
initialise()
Method to initialise the statements being used. |
boolean |
isValuesAreEmbedded()
|
boolean |
isValuesAreSerialised()
|
boolean |
keysAreEmbedded()
Accessor for whether the keys are embedded or not. |
boolean |
keysAreSerialised()
Accessor for whether the keys are serialised or not. |
void |
putAll(org.datanucleus.store.ObjectProvider sm,
Map m)
Method to put all elements from a Map into our Map. |
boolean |
updatedEmbeddedKey(org.datanucleus.store.ObjectProvider sm,
Object key,
int fieldNumber,
Object newValue,
org.datanucleus.store.mapped.mapping.JavaTypeMapping fieldMapping)
|
boolean |
updateEmbeddedKey(org.datanucleus.store.ObjectProvider sm,
Object key,
int fieldNumber,
Object newValue)
Method to update a field of an embedded key. |
boolean |
updateEmbeddedValue(org.datanucleus.store.ObjectProvider sm,
Object value,
int fieldNumber,
Object newValue)
Method to update a field of an embedded key. |
boolean |
updateEmbeddedValue(org.datanucleus.store.ObjectProvider sm,
Object value,
int fieldNumber,
Object newValue,
org.datanucleus.store.mapped.mapping.JavaTypeMapping fieldMapping)
|
protected boolean |
validateKeyForReading(org.datanucleus.store.ObjectProvider sm,
Object key)
Utility to validate a key is ok for reading. |
protected void |
validateKeyForWriting(org.datanucleus.store.ObjectProvider ownerOP,
Object key)
Utility to validate a key is ok for writing (present in the datastore). |
protected void |
validateKeyType(org.datanucleus.ClassLoaderResolver clr,
Object key)
Utility to validate the type of a key for storing in the Map. |
protected boolean |
validateValueForReading(org.datanucleus.store.ObjectProvider sm,
Object value)
Utility to validate a value is ok for reading. |
protected void |
validateValueForWriting(org.datanucleus.store.ObjectProvider ownerOP,
Object value)
Utility to validate a value is ok for writing (present in the datastore). |
protected void |
validateValueType(org.datanucleus.ClassLoaderResolver clr,
Object value)
Utility to validate the type of a value for storing in the Map. |
boolean |
valuesAreEmbedded()
Accessor for whether the values are embedded or not. |
boolean |
valuesAreSerialised()
Accessor for whether the values are serialised or not. |
| Methods inherited from class org.datanucleus.store.rdbms.scostore.BaseContainerStore |
|---|
allowsBatching, getDatastoreAdapter, getOwnerMapping, getOwnerMemberMetaData, getRelationType, getStateManagerForEmbeddedPCObject, getStoreManager, isEmbeddedMapping, setOwner |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.datanucleus.store.scostore.MapStore |
|---|
clear, entrySetStore, keySetStore, put, remove, valueSetStore |
| Methods inherited from interface org.datanucleus.store.scostore.Store |
|---|
getStoreManager |
| Field Detail |
|---|
protected boolean iterateUsingDiscriminator
protected org.datanucleus.store.mapped.DatastoreContainerObject mapTable
protected org.datanucleus.store.mapped.DatastoreClass valueTable
protected org.datanucleus.metadata.AbstractClassMetaData kmd
protected org.datanucleus.metadata.AbstractClassMetaData vmd
protected org.datanucleus.store.mapped.mapping.JavaTypeMapping keyMapping
protected org.datanucleus.store.mapped.mapping.JavaTypeMapping valueMapping
protected String keyType
protected String valueType
protected boolean keysAreEmbedded
protected boolean keysAreSerialised
protected boolean valuesAreEmbedded
protected boolean valuesAreSerialised
| Constructor Detail |
|---|
public AbstractMapStore(RDBMSStoreManager storeMgr)
storeMgr - Manager for the store| Method Detail |
|---|
protected void initialise()
public boolean keysAreEmbedded()
keysAreEmbedded in interface org.datanucleus.store.scostore.MapStorepublic boolean keysAreSerialised()
keysAreSerialised in interface org.datanucleus.store.scostore.MapStorepublic boolean valuesAreEmbedded()
valuesAreEmbedded in interface org.datanucleus.store.scostore.MapStorepublic boolean valuesAreSerialised()
valuesAreSerialised in interface org.datanucleus.store.scostore.MapStore
public boolean containsKey(org.datanucleus.store.ObjectProvider sm,
Object key)
containsKey in interface org.datanucleus.store.scostore.MapStoresm - State Manager for the mapkey - The key to check for.
public boolean containsValue(org.datanucleus.store.ObjectProvider sm,
Object value)
containsValue in interface org.datanucleus.store.scostore.MapStoresm - State Manager for the mapvalue - The value to check for.
public Object get(org.datanucleus.store.ObjectProvider sm,
Object key)
get in interface org.datanucleus.store.scostore.MapStoresm - State Manager for the Map.key - The key of the object to retrieve.
public void putAll(org.datanucleus.store.ObjectProvider sm,
Map m)
putAll in interface org.datanucleus.store.scostore.MapStoresm - State Manager for the Mapm - The Map to add
protected void validateKeyType(org.datanucleus.ClassLoaderResolver clr,
Object key)
clr - The ClassLoaderResolverkey - The key to check.
protected void validateValueType(org.datanucleus.ClassLoaderResolver clr,
Object value)
clr - The ClassLoaderResolvervalue - The value to check.
protected boolean validateKeyForReading(org.datanucleus.store.ObjectProvider sm,
Object key)
sm - State Manager for the map.key - The key to check.
protected boolean validateValueForReading(org.datanucleus.store.ObjectProvider sm,
Object value)
sm - State Manager for the map.value - The value to check.
protected void validateKeyForWriting(org.datanucleus.store.ObjectProvider ownerOP,
Object key)
ownerOP - ObjectProvider for the owner of the mapkey - The key to check.
protected void validateValueForWriting(org.datanucleus.store.ObjectProvider ownerOP,
Object value)
ownerOP - ObjectProvider for the owner of the mapvalue - The value to check.
protected abstract Object getValue(org.datanucleus.store.ObjectProvider sm,
Object key)
throws NoSuchElementException
sm - State Manager for the map.key - The key to retrieve the value for.
NoSuchElementException - if the value for the key was not found
public boolean updateEmbeddedKey(org.datanucleus.store.ObjectProvider sm,
Object key,
int fieldNumber,
Object newValue)
updateEmbeddedKey in interface org.datanucleus.store.scostore.MapStoresm - State Manager of the ownerkey - The key to updatefieldNumber - The number of the field to updatenewValue - The new value
public boolean updateEmbeddedValue(org.datanucleus.store.ObjectProvider sm,
Object value,
int fieldNumber,
Object newValue)
updateEmbeddedValue in interface org.datanucleus.store.scostore.MapStoresm - State Manager of the ownervalue - The value to updatefieldNumber - The number of the field to updatenewValue - The new valuepublic org.datanucleus.store.mapped.mapping.JavaTypeMapping getValueMapping()
public org.datanucleus.store.mapped.mapping.JavaTypeMapping getKeyMapping()
public boolean isValuesAreEmbedded()
public boolean isValuesAreSerialised()
public org.datanucleus.store.mapped.DatastoreContainerObject getMapTable()
public org.datanucleus.metadata.AbstractClassMetaData getKmd()
public org.datanucleus.metadata.AbstractClassMetaData getVmd()
public boolean updateEmbeddedValue(org.datanucleus.store.ObjectProvider sm,
Object value,
int fieldNumber,
Object newValue,
org.datanucleus.store.mapped.mapping.JavaTypeMapping fieldMapping)
protected String getUpdateEmbeddedKeyStmt(org.datanucleus.store.mapped.mapping.JavaTypeMapping fieldMapping,
org.datanucleus.store.mapped.mapping.JavaTypeMapping ownerMapping,
org.datanucleus.store.mapped.mapping.JavaTypeMapping keyMapping,
org.datanucleus.store.mapped.DatastoreContainerObject mapTable)
UPDATE MAPTABLE SET EMBEDDEDKEYCOL1 = ? WHERE OWNERCOL=? AND EMBEDDEDKEYCOL1 = ? AND EMBEDDEDKEYCOL2 = ? ...
fieldMapping - The mapping for the field to be updatedownerMapping - The owner mappingkeyMapping - The key mappingmapTable - The map table
protected String getUpdateEmbeddedValueStmt(org.datanucleus.store.mapped.mapping.JavaTypeMapping fieldMapping,
org.datanucleus.store.mapped.mapping.JavaTypeMapping ownerMapping,
org.datanucleus.store.mapped.mapping.JavaTypeMapping valueMapping,
org.datanucleus.store.mapped.DatastoreContainerObject mapTable)
UPDATE MAPTABLE SET EMBEDDEDVALUECOL1 = ? WHERE OWNERCOL=? AND EMBEDDEDVALUECOL1 = ? AND EMBEDDEDVALUECOL2 = ? ...
fieldMapping - The mapping for the field to be updatedownerMapping - The owner mappingmapTable - The map table
public boolean updatedEmbeddedKey(org.datanucleus.store.ObjectProvider sm,
Object key,
int fieldNumber,
Object newValue,
org.datanucleus.store.mapped.mapping.JavaTypeMapping fieldMapping)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||