public class MapContainerPolicy extends InterfaceContainerPolicy
Purpose: A MapContainerPolicy is ContainerPolicy whose container class implements the Map interface.
Responsibilities: Provide the functionality to operate on an instance of a Map.
Modifier and Type | Field and Description |
---|---|
protected java.lang.Class |
elementClass |
protected java.lang.String |
elementClassName |
protected java.lang.reflect.Field |
keyField |
protected java.lang.reflect.Method |
keyMethod |
protected java.lang.String |
keyName |
cloneMethod, containerClass, containerClassName
constructor, elementDescriptor
Constructor and Description |
---|
MapContainerPolicy()
INTERNAL:
Construct a new policy.
|
MapContainerPolicy(java.lang.Class containerClass)
INTERNAL:
Construct a new policy for the specified class.
|
MapContainerPolicy(java.lang.String containerClassName)
INTERNAL:
Construct a new policy for the specified class name.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addInto(java.lang.Object key,
java.lang.Object element,
java.lang.Object container,
AbstractSession session)
INTERNAL:
Add element into container which implements the Map interface.
|
void |
clear(java.lang.Object container)
INTERNAL:
Remove all the elements from container.
|
boolean |
compareKeys(java.lang.Object sourceValue,
AbstractSession session)
INTERNAL:
Return true if keys are the same in the source as the backup.
|
protected boolean |
contains(java.lang.Object element,
java.lang.Object container)
INTERNAL:
Return the true if element exists in container.
|
void |
convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL:
Convert all the class-name-based settings in this ContainerPolicy to
actual class-based settings.
|
java.lang.Class |
getElementClass()
INTERNAL:
Returns the element class which defines the map key.
|
java.lang.String |
getElementClassName()
INTERNAL:
Returns the element class name which defines the map key.
|
java.lang.Class |
getInterfaceType()
INTERNAL:
|
java.lang.String |
getKeyName()
INTERNAL:
Returns the key name which will return the value of the key to be used
in the container.
|
boolean |
isMapPolicy()
INTERNAL
Yes this is a MapPolicy
|
boolean |
isValidContainer(java.lang.Object container)
INTERNAL:
Validate the container type.
|
java.lang.Object |
iteratorFor(java.lang.Object container)
INTERNAL:
Return an Iterator for the given container.
|
java.lang.Object |
keyFrom(java.lang.Object element,
AbstractSession session)
INTERNAL:
Return the key for the specified element.
|
void |
prepare(DatabaseQuery query,
AbstractSession session)
Prepare and validate.
|
boolean |
removeFrom(java.lang.Object key,
java.lang.Object element,
java.lang.Object container,
AbstractSession session)
INTERNAL:
Remove element from container which implements the Map interface.
|
boolean |
removeFromWithIdentity(java.lang.Object element,
java.lang.Object container,
AbstractSession session)
INTERNAL:
Remove element from container which implements the Map interface.
|
void |
setElementClass(java.lang.Class elementClass)
INTERNAL:
Sets the element class which defines the method.
|
void |
setKeyName(java.lang.String keyName)
INTERNAL:
Sets the key name to be used to generate the key in a Map type container
class.
|
void |
setKeyName(java.lang.String keyName,
java.lang.String elementClassName)
INTERNAL:
Sets the key name to be used to generate the key in a Map type container
class.
|
int |
sizeFor(java.lang.Object container)
INTERNAL:
Return the size of container.
|
void |
validateElementAndRehashIfRequired(java.lang.Object sourceValue,
java.lang.Object targetMap,
AbstractSession session,
java.lang.Object targetVersionOfSource)
INTERNAL:
If the key has changed, remove the element and add it back into the target.
|
cloneFor, getCloneMethod, getCloneMethod, getContainerClass, getContainerClassName, hasNext, invokeCloneMethodOn, isValidContainerType, next, setCloneMethod, setContainerClass, setContainerClassName, toStringInfo
addInto, addInto, addIntoWithOrder, addIntoWithOrder, addIntoWithOrder, buildContainerFromVector, buildPolicyFor, buildPolicyFor, clone, clone, compareCollectionsForChange, concatenateContainers, containerInstance, containerInstance, contains, containsKey, execute, getConstructor, getElementDescriptor, hasElementDescriptor, hasOrder, initializeConstructor, isCollectionPolicy, isCursoredStreamPolicy, isCursorPolicy, isCursorStreamPolicy, isDirectMapPolicy, isEmpty, isListPolicy, isScrollableCursorPolicy, mergeCascadeParts, mergeChanges, next, overridesRead, prepareForExecution, recordAddToCollectionInChangeRecord, recordRemoveFromCollectionInChangeRecord, remoteExecute, removeAllElements, removeFrom, removeFrom, removeFromWithOrder, setConstructor, setElementDescriptor, toString, vectorFor
protected java.lang.String keyName
protected java.lang.String elementClassName
protected java.lang.Class elementClass
protected transient java.lang.reflect.Field keyField
protected transient java.lang.reflect.Method keyMethod
public MapContainerPolicy()
public MapContainerPolicy(java.lang.Class containerClass)
public MapContainerPolicy(java.lang.String containerClassName)
public void prepare(DatabaseQuery query, AbstractSession session) throws QueryException
prepare
in class ContainerPolicy
QueryException
public boolean addInto(java.lang.Object key, java.lang.Object element, java.lang.Object container, AbstractSession session)
addInto
in class ContainerPolicy
public void clear(java.lang.Object container)
clear
in class ContainerPolicy
public boolean compareKeys(java.lang.Object sourceValue, AbstractSession session)
compareKeys
in class ContainerPolicy
protected boolean contains(java.lang.Object element, java.lang.Object container)
contains
in class ContainerPolicy
public void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
convertClassNamesToClasses
in class InterfaceContainerPolicy
classLoader
- public java.lang.Class getElementClass()
public java.lang.String getElementClassName()
public java.lang.Class getInterfaceType()
getInterfaceType
in class InterfaceContainerPolicy
public java.lang.String getKeyName()
public boolean isMapPolicy()
isMapPolicy
in class ContainerPolicy
public java.lang.Object iteratorFor(java.lang.Object container)
iteratorFor
in class ContainerPolicy
ContainerPolicy.hasNext(java.lang.Object)
,
ContainerPolicy.next(java.lang.Object)
public java.lang.Object keyFrom(java.lang.Object element, AbstractSession session)
keyFrom
in class ContainerPolicy
element
- java.lang.Objectpublic boolean removeFrom(java.lang.Object key, java.lang.Object element, java.lang.Object container, AbstractSession session)
removeFrom
in class ContainerPolicy
public boolean removeFromWithIdentity(java.lang.Object element, java.lang.Object container, AbstractSession session)
public void setElementClass(java.lang.Class elementClass)
public boolean isValidContainer(java.lang.Object container)
isValidContainer
in class ContainerPolicy
CollectionContainerPolicy.isValidContainer(Object)
,
isValidContainer(Object)
public void setKeyName(java.lang.String keyName, java.lang.String elementClassName)
setKeyName
in class ContainerPolicy
#MapContainerPolicy
public void setKeyName(java.lang.String keyName)
public int sizeFor(java.lang.Object container)
sizeFor
in class ContainerPolicy
public void validateElementAndRehashIfRequired(java.lang.Object sourceValue, java.lang.Object targetMap, AbstractSession session, java.lang.Object targetVersionOfSource)
validateElementAndRehashIfRequired
in class ContainerPolicy