org.objectweb.speedo.genclass.map
Class MapAccessor

java.lang.Object
  extended byorg.objectweb.speedo.mim.lib.BasicSpeedoAccessor
      extended byorg.objectweb.speedo.genclass.GenClassAccessor
          extended byorg.objectweb.speedo.genclass.map.MapAccessor
All Implemented Interfaces:
java.util.Map, org.objectweb.jorm.api.PAccessor, org.objectweb.jorm.api.PGenClassAccessor, org.objectweb.jorm.api.PIndexedElemFactory, java.io.Serializable, SpeedoAccessor, SpeedoGenClassCoherence, org.objectweb.perseus.persistence.api.State

public class MapAccessor
extends GenClassAccessor
implements java.util.Map

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
protected  java.util.Map map
          A map containing the indexed elements of the genclass.
 
Fields inherited from class org.objectweb.speedo.genclass.GenClassAccessor
deltaForMerge, elements, jdoProxy, logger, supportDelta, tmpelem
 
Fields inherited from class org.objectweb.speedo.mim.lib.BasicSpeedoAccessor
detachedStatus, hasBeenFlush, isToMerge, jdoStatus, proxy
 
Constructor Summary
MapAccessor(SpeedoGenClassProxy _jdoProxy)
          Instanciates and initializes a new map with an initial size.
 
Method Summary
 void attachCopy(ProxyManager pm, java.util.Map attachCtx, SpeedoAccessor fieldsClone, boolean makeTransactional)
          This method is used during the attach operation.
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 org.objectweb.jorm.api.PIndexedElem createPIndexedElem(GenClassAccessor gca)
           
 void deletePersistent(ProxyManager pm)
          Deletes persistent all inner elements of the persistent instance.
 void detachCopy(ProxyManager pm, java.util.Map detachCtx, SpeedoAccessor fieldsClone, java.util.Collection fgHints)
          This method is used during the detach operation.
 java.util.Set entrySet()
           
 void forceDetachedDirty()
          Force the detached status to DETACHED_DIRTY and all the xxxLoaded to true
 java.lang.Object get(java.lang.Object key)
           
 boolean isEmpty()
           
 java.util.Set keySet()
           
 void loadFieldsFromAccessor(SpeedoAccessor sa)
           
 void makePersistent(ProxyManager pm)
          Makes persistent all inner elements of the persistent instance.
 void paAdd(org.objectweb.jorm.api.PIndexedElem elem, java.lang.Object conn)
           
 int paGetNbElem()
           
 java.util.Iterator paIterator()
           
 void paSetNbElem(int nbelem)
           
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
           
 java.lang.Object put(java.lang.Object key, java.lang.Object value, boolean withCoherence)
           
 void putAll(java.util.Map t)
           
 void refresh(ProxyManager pm, java.util.Map refreshCtx, java.util.Collection fgHints)
          This method is used during the refresh operation.
 java.lang.Object remove(java.lang.Object key)
           
 java.lang.Object remove(java.lang.Object key, boolean withCoherence)
           
 void restoreDetachedNone()
          Restore the detached status to DETACHED_NONE and all the xxxLoaded to false
 void retrieve(ProxyManager pm, java.util.Map retrieveCtx, java.util.Collection fgHints)
          This method is used during the retrieve operation.
 void setElements(java.lang.Object o)
           
 int size()
           
 boolean speedoAdd(java.lang.Object elemToAdd, java.lang.Object hints)
          Askes the adding of an element into a generic class.
 boolean speedoRemove(java.lang.Object elemToRemove, java.lang.Object hints)
          Askes the removing of an element from a generic class.
 java.util.Collection values()
           
 
Methods inherited from class org.objectweb.speedo.genclass.GenClassAccessor
createPIndexedElem, getLogger, getMemoryInstance, loadFields, makeToMerge, merge, paDeltaSupported, setFlushed, unSwizzle, workingSetClosed
 
Methods inherited from class org.objectweb.speedo.mim.lib.BasicSpeedoAccessor
changeVersion, checkVersion, getCacheEntry, getDetachedStatus, getSpeedoProxy, getUserKey, getVersion, hasBeenFlush, indexFieldModified, isToMerge, jdoChangeStatus, jdoGetStatus, jdoSetStatus, prepareWrite, setDetachedStatus, setSpeedoProxy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

map

protected java.util.Map map
A map containing the indexed elements of the genclass. It associates each element to its index. This map does NOT contain the deleted elements.

Constructor Detail

MapAccessor

public MapAccessor(SpeedoGenClassProxy _jdoProxy)
Instanciates and initializes a new map with an initial size.

Method Detail

makePersistent

public void makePersistent(ProxyManager pm)
Description copied from interface: SpeedoAccessor
Makes persistent all inner elements of the persistent instance. For a class, it means making persistent all objects referenced by a persistent field. For a genclass it means making persistent element of the genclass. This method is called when a makePersistent is called on the persistent class (Proxy) linked to this accessor.

Specified by:
makePersistent in interface SpeedoAccessor
Specified by:
makePersistent in class GenClassAccessor

deletePersistent

public void deletePersistent(ProxyManager pm)
Description copied from interface: SpeedoAccessor
Deletes persistent all inner elements of the persistent instance. For a class, it means deleting persistent all objects referenced by a persistent field. For a genclass it means deleting persistent element of the genclass. This method is called when a deletePersistent is called on the persistent class (Proxy) linked to this accessor.

Specified by:
deletePersistent in interface SpeedoAccessor
Specified by:
deletePersistent in class GenClassAccessor

setElements

public void setElements(java.lang.Object o)
Specified by:
setElements in class GenClassAccessor

loadFieldsFromAccessor

public void loadFieldsFromAccessor(SpeedoAccessor sa)
Specified by:
loadFieldsFromAccessor in class GenClassAccessor

speedoAdd

public boolean speedoAdd(java.lang.Object elemToAdd,
                         java.lang.Object hints)
Description copied from interface: SpeedoGenClassCoherence
Askes the adding of an element into a generic class. The consistency of relations must not be managed: this is done by the caller of this method.

Specified by:
speedoAdd in interface SpeedoGenClassCoherence
Specified by:
speedoAdd in class GenClassAccessor

speedoRemove

public boolean speedoRemove(java.lang.Object elemToRemove,
                            java.lang.Object hints)
Description copied from interface: SpeedoGenClassCoherence
Askes the removing of an element from a generic class. The consistency of relations must not be managed: this is done by the caller of this method.

Specified by:
speedoRemove in interface SpeedoGenClassCoherence
Specified by:
speedoRemove in class GenClassAccessor

detachCopy

public void detachCopy(ProxyManager pm,
                       java.util.Map detachCtx,
                       SpeedoAccessor fieldsClone,
                       java.util.Collection fgHints)
Description copied from interface: SpeedoAccessor
This method is used during the detach operation. A call to this method copy the field of the state into the the cloned state. When a field references a persistent object, according to the fetch plan, the referenced can be detached too.

Specified by:
detachCopy in interface SpeedoAccessor
Specified by:
detachCopy in class GenClassAccessor

attachCopy

public void attachCopy(ProxyManager pm,
                       java.util.Map attachCtx,
                       SpeedoAccessor fieldsClone,
                       boolean makeTransactional)
Description copied from interface: SpeedoAccessor
This method is used during the attach operation. A call to this method copy the field of the cloned state into the the current state. When a field references a persistent object, according to the fetch plan, the referenced can be attached too.

Specified by:
attachCopy in interface SpeedoAccessor
Specified by:
attachCopy in class GenClassAccessor

refresh

public void refresh(ProxyManager pm,
                    java.util.Map refreshCtx,
                    java.util.Collection fgHints)
Description copied from interface: SpeedoAccessor
This method is used during the refresh operation. A call to this method refreshes the fields of the current state. When a field references a persistent object, according to the fetch plan, the referenced can be refreshed too.

Specified by:
refresh in interface SpeedoAccessor
Specified by:
refresh in class GenClassAccessor

retrieve

public void retrieve(ProxyManager pm,
                     java.util.Map retrieveCtx,
                     java.util.Collection fgHints)
Description copied from interface: SpeedoAccessor
This method is used during the retrieve operation. A call to this method retrieves the fields of the current state. When a field references a persistent object, according to the fetch plan, the referenced can be retrieved too.

Specified by:
retrieve in interface SpeedoAccessor
Specified by:
retrieve in class GenClassAccessor

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value,
                            boolean withCoherence)

remove

public java.lang.Object remove(java.lang.Object key,
                               boolean withCoherence)

size

public int size()
Specified by:
size in interface java.util.Map

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map

containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map

get

public java.lang.Object get(java.lang.Object key)
Specified by:
get in interface java.util.Map

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Specified by:
put in interface java.util.Map

remove

public java.lang.Object remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map

putAll

public void putAll(java.util.Map t)
Specified by:
putAll in interface java.util.Map

clear

public void clear()
Specified by:
clear in interface java.util.Map

keySet

public java.util.Set keySet()
Specified by:
keySet in interface java.util.Map

values

public java.util.Collection values()
Specified by:
values in interface java.util.Map

entrySet

public java.util.Set entrySet()
Specified by:
entrySet in interface java.util.Map

createPIndexedElem

public org.objectweb.jorm.api.PIndexedElem createPIndexedElem(GenClassAccessor gca)
Specified by:
createPIndexedElem in class GenClassAccessor

paAdd

public void paAdd(org.objectweb.jorm.api.PIndexedElem elem,
                  java.lang.Object conn)
           throws org.objectweb.jorm.api.PExceptionIO
Specified by:
paAdd in interface org.objectweb.jorm.api.PGenClassAccessor
Overrides:
paAdd in class GenClassAccessor
Throws:
org.objectweb.jorm.api.PExceptionIO

paGetNbElem

public int paGetNbElem()
Specified by:
paGetNbElem in interface org.objectweb.jorm.api.PGenClassAccessor
Overrides:
paGetNbElem in class GenClassAccessor

paIterator

public java.util.Iterator paIterator()
Specified by:
paIterator in interface org.objectweb.jorm.api.PGenClassAccessor
Overrides:
paIterator in class GenClassAccessor

paSetNbElem

public void paSetNbElem(int nbelem)
Specified by:
paSetNbElem in interface org.objectweb.jorm.api.PGenClassAccessor
Overrides:
paSetNbElem in class GenClassAccessor

forceDetachedDirty

public void forceDetachedDirty()
Description copied from interface: SpeedoAccessor
Force the detached status to DETACHED_DIRTY and all the xxxLoaded to true

Specified by:
forceDetachedDirty in interface SpeedoAccessor

restoreDetachedNone

public void restoreDetachedNone()
Description copied from interface: SpeedoAccessor
Restore the detached status to DETACHED_NONE and all the xxxLoaded to false

Specified by:
restoreDetachedNone in interface SpeedoAccessor