public abstract class AbstractMapStore<K,V> extends BaseContainerStore implements org.datanucleus.store.scostore.MapStore<K,V>
Modifier and Type | Field and Description |
---|---|
protected boolean |
iterateUsingDiscriminator
Flag to set whether the iterator statement will use a discriminator or not.
|
protected 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 Table |
mapTable
Table storing the map relation.
|
protected 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 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).
|
allowNulls, clr, dba, ownerMapping, ownerMemberMetaData, relationType, storeMgr
Constructor and Description |
---|
AbstractMapStore(RDBMSStoreManager storeMgr,
org.datanucleus.ClassLoaderResolver clr) |
Modifier and Type | Method and Description |
---|---|
boolean |
containsKey(org.datanucleus.state.ObjectProvider op,
Object key)
Method to check if a key exists in the Map.
|
boolean |
containsValue(org.datanucleus.state.ObjectProvider op,
Object value)
Method to check if a value exists in the Map.
|
V |
get(org.datanucleus.state.ObjectProvider op,
Object key)
Method to return the value for a key.
|
JavaTypeMapping |
getKeyMapping() |
org.datanucleus.metadata.AbstractClassMetaData |
getKmd() |
Table |
getMapTable() |
protected String |
getUpdateEmbeddedKeyStmt(JavaTypeMapping fieldMapping,
JavaTypeMapping ownerMapping,
JavaTypeMapping keyMapping,
Table mapTable)
Generate statement for update the field of an embedded key.
|
protected String |
getUpdateEmbeddedValueStmt(JavaTypeMapping fieldMapping,
JavaTypeMapping ownerMapping,
JavaTypeMapping valueMapping,
Table mapTable)
Generate statement for update the field of an embedded value.
|
protected abstract V |
getValue(org.datanucleus.state.ObjectProvider op,
Object key)
Method to retrieve a value from the Map given the key.
|
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.state.ObjectProvider op,
Map<? extends K,? extends V> m)
Method to put all elements from a Map into our Map.
|
boolean |
updatedEmbeddedKey(org.datanucleus.state.ObjectProvider op,
Object key,
int fieldNumber,
Object newValue,
JavaTypeMapping fieldMapping) |
boolean |
updateEmbeddedKey(org.datanucleus.state.ObjectProvider op,
Object key,
int fieldNumber,
Object newValue)
Method to update a field of an embedded key.
|
boolean |
updateEmbeddedValue(org.datanucleus.state.ObjectProvider op,
Object value,
int fieldNumber,
Object newValue)
Method to update a field of an embedded key.
|
boolean |
updateEmbeddedValue(org.datanucleus.state.ObjectProvider op,
Object value,
int fieldNumber,
Object newValue,
JavaTypeMapping fieldMapping) |
protected boolean |
validateKeyForReading(org.datanucleus.state.ObjectProvider op,
Object key)
Utility to validate a key is ok for reading.
|
protected void |
validateKeyForWriting(org.datanucleus.state.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.state.ObjectProvider op,
Object value)
Utility to validate a value is ok for reading.
|
protected void |
validateValueForWriting(org.datanucleus.state.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.
|
allowsBatching, getDatastoreAdapter, getObjectProviderForEmbeddedPCObject, getOwnerMapping, getOwnerMemberMetaData, getRelationType, getStoreManager, isEmbeddedMapping, setOwner
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
protected boolean iterateUsingDiscriminator
protected Table mapTable
protected DatastoreClass valueTable
protected org.datanucleus.metadata.AbstractClassMetaData kmd
protected org.datanucleus.metadata.AbstractClassMetaData vmd
protected JavaTypeMapping keyMapping
protected JavaTypeMapping valueMapping
protected String keyType
protected String valueType
protected boolean keysAreEmbedded
protected boolean keysAreSerialised
protected boolean valuesAreEmbedded
protected boolean valuesAreSerialised
public AbstractMapStore(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr)
protected void initialise()
public boolean keysAreEmbedded()
public boolean keysAreSerialised()
public boolean valuesAreEmbedded()
public boolean valuesAreSerialised()
public boolean containsKey(org.datanucleus.state.ObjectProvider op, Object key)
public boolean containsValue(org.datanucleus.state.ObjectProvider op, Object value)
public V get(org.datanucleus.state.ObjectProvider op, Object key)
public void putAll(org.datanucleus.state.ObjectProvider op, Map<? extends K,? extends V> m)
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.state.ObjectProvider op, Object key)
op
- ObjectProvider for the map.key
- The key to check.protected boolean validateValueForReading(org.datanucleus.state.ObjectProvider op, Object value)
op
- ObjectProvider for the map.value
- The value to check.protected void validateKeyForWriting(org.datanucleus.state.ObjectProvider ownerOP, Object key)
ownerOP
- ObjectProvider for the owner of the mapkey
- The key to check.protected void validateValueForWriting(org.datanucleus.state.ObjectProvider ownerOP, Object value)
ownerOP
- ObjectProvider for the owner of the mapvalue
- The value to check.protected abstract V getValue(org.datanucleus.state.ObjectProvider op, Object key) throws NoSuchElementException
op
- ObjectProvider for the map.key
- The key to retrieve the value for.NoSuchElementException
- if the value for the key was not foundpublic boolean updateEmbeddedKey(org.datanucleus.state.ObjectProvider op, Object key, int fieldNumber, Object newValue)
public boolean updateEmbeddedValue(org.datanucleus.state.ObjectProvider op, Object value, int fieldNumber, Object newValue)
public JavaTypeMapping getValueMapping()
public JavaTypeMapping getKeyMapping()
public boolean isValuesAreEmbedded()
public boolean isValuesAreSerialised()
public Table getMapTable()
public org.datanucleus.metadata.AbstractClassMetaData getKmd()
public org.datanucleus.metadata.AbstractClassMetaData getVmd()
public boolean updateEmbeddedValue(org.datanucleus.state.ObjectProvider op, Object value, int fieldNumber, Object newValue, JavaTypeMapping fieldMapping)
protected String getUpdateEmbeddedKeyStmt(JavaTypeMapping fieldMapping, JavaTypeMapping ownerMapping, JavaTypeMapping keyMapping, Table 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 tableprotected String getUpdateEmbeddedValueStmt(JavaTypeMapping fieldMapping, JavaTypeMapping ownerMapping, JavaTypeMapping valueMapping, Table mapTable)
UPDATE MAPTABLE SET EMBEDDEDVALUECOL1 = ? WHERE OWNERCOL=? AND EMBEDDEDVALUECOL1 = ? AND EMBEDDEDVALUECOL2 = ? ...
fieldMapping
- The mapping for the field to be updatedownerMapping
- The owner mappingvalueMapping
- mapping for the valuemapTable
- The map tablepublic boolean updatedEmbeddedKey(org.datanucleus.state.ObjectProvider op, Object key, int fieldNumber, Object newValue, JavaTypeMapping fieldMapping)
Copyright © 2017. All rights reserved.