public class DirectMapContainerPolicy 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 Converter |
keyConverter |
protected DatabaseField |
keyField |
protected Converter |
valueConverter |
protected DatabaseField |
valueField |
cloneMethod, containerClass, containerClassName
constructor, elementDescriptor
Constructor and Description |
---|
DirectMapContainerPolicy()
INTERNAL:
Construct a new policy.
|
DirectMapContainerPolicy(java.lang.Class containerClass)
INTERNAL:
Construct a new policy for the specified class.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addInto(java.lang.Object element,
java.lang.Object container,
AbstractSession session)
INTERNAL:
Add element into container which implements the Map interface.
|
boolean |
addInto(java.lang.Object key,
java.lang.Object value,
java.lang.Object container,
AbstractSession session)
INTERNAL:
Add key, value pair into container which implements the Map interface.
|
java.lang.Object |
buildContainerFromVector(java.util.Vector vector,
AbstractSession session)
INTERNAL:
Return a container populated with the contents of the specified Vector.
|
void |
clear(java.lang.Object container)
INTERNAL:
Remove all the elements from container.
|
boolean |
compareContainers(java.lang.Object firstObjectMap,
java.lang.Object secondObjectMap)
INTERNAL:
Return true if keys are the same.
|
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.
|
java.lang.Class |
getInterfaceType() |
Converter |
getKeyConverter() |
Converter |
getValueConverter() |
boolean |
isDirectMapPolicy() |
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 |
iteratorForValue(java.lang.Object container)
INTERNAL:
Return an Iterator for the given container.
|
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 |
setKeyConverter(Converter keyConverter) |
void |
setKeyField(DatabaseField field) |
void |
setValueConverter(Converter valueConverter) |
void |
setValueField(DatabaseField field) |
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.
|
java.lang.Object |
valueFromKey(java.lang.Object key,
java.lang.Object container)
INTERNAL:
Return an value of the key from container
|
cloneFor, convertClassNamesToClasses, getCloneMethod, getCloneMethod, getContainerClass, getContainerClassName, hasNext, invokeCloneMethodOn, isValidContainerType, next, setCloneMethod, setContainerClass, setContainerClassName, toStringInfo
addInto, addIntoWithOrder, addIntoWithOrder, addIntoWithOrder, buildPolicyFor, buildPolicyFor, clone, clone, compareCollectionsForChange, concatenateContainers, containerInstance, containerInstance, contains, containsKey, execute, getConstructor, getElementDescriptor, hasElementDescriptor, hasOrder, initializeConstructor, isCollectionPolicy, isCursoredStreamPolicy, isCursorPolicy, isCursorStreamPolicy, isEmpty, isListPolicy, isMapPolicy, isScrollableCursorPolicy, keyFrom, mergeCascadeParts, mergeChanges, next, overridesRead, prepare, prepareForExecution, recordAddToCollectionInChangeRecord, recordRemoveFromCollectionInChangeRecord, remoteExecute, removeAllElements, removeFrom, removeFrom, removeFromWithOrder, setConstructor, setElementDescriptor, setKeyName, toString, vectorFor
protected DatabaseField keyField
protected DatabaseField valueField
protected Converter keyConverter
protected Converter valueConverter
public DirectMapContainerPolicy()
public DirectMapContainerPolicy(java.lang.Class containerClass)
public boolean addInto(java.lang.Object key, java.lang.Object value, java.lang.Object container, AbstractSession session)
addInto
in class ContainerPolicy
public boolean addInto(java.lang.Object element, java.lang.Object container, AbstractSession session)
addInto
in class ContainerPolicy
public java.lang.Object buildContainerFromVector(java.util.Vector vector, AbstractSession session)
buildContainerFromVector
in class ContainerPolicy
public void clear(java.lang.Object container)
clear
in class ContainerPolicy
public boolean compareContainers(java.lang.Object firstObjectMap, java.lang.Object secondObjectMap)
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 java.lang.Class getInterfaceType()
getInterfaceType
in class InterfaceContainerPolicy
public boolean isDirectMapPolicy()
isDirectMapPolicy
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 iteratorForValue(java.lang.Object container)
public 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 setKeyField(DatabaseField field)
public void setValueField(DatabaseField field)
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
public boolean isValidContainer(java.lang.Object container)
isValidContainer
in class ContainerPolicy
CollectionContainerPolicy.isValidContainer(Object)
,
MapContainerPolicy.isValidContainer(Object)
public java.lang.Object valueFromKey(java.lang.Object key, java.lang.Object container)
public Converter getKeyConverter()
public void setKeyConverter(Converter keyConverter)
public void setValueConverter(Converter valueConverter)
public Converter getValueConverter()