org.objectweb.speedo.mapper.lib
Class JormStorageManager

java.lang.Object
  extended byorg.objectweb.speedo.mapper.lib.JormStorageManager
All Implemented Interfaces:
org.objectweb.fractal.api.control.BindingController, org.objectweb.perseus.persistence.api.StorageManager

public class JormStorageManager
extends java.lang.Object
implements org.objectweb.perseus.persistence.api.StorageManager, org.objectweb.fractal.api.control.BindingController

This class is an implementation of the StorageManager interface based on Jorm.The single hypothesis concerns the architecture of the CacheEntry: - the CacheEntry implements the PBinding interface - the obj parameters implement State and PAceessor.

Author:
S.Chassande-Barrioz

Field Summary
static java.lang.String JORM_FACTORY_BINDING
           
protected  JormFactory jormFactory
           
protected  org.objectweb.util.monolog.api.Logger logger
           
static java.lang.String LOGGER_NAME
           
protected  java.util.Map ws2removedpo
          listes for each working set the persistent object removed in other working set.
 
Constructor Summary
JormStorageManager()
           
 
Method Summary
 void beginWS(org.objectweb.perseus.persistence.api.WorkingSet ws)
           
 void bindFc(java.lang.String s, java.lang.Object o)
           
 void endWS(org.objectweb.perseus.persistence.api.WorkingSet ws)
          forget the working set
 java.lang.Object export(org.objectweb.perseus.persistence.api.ConnectionHolder context, java.lang.Object obj)
           
 java.lang.Object export(org.objectweb.perseus.persistence.api.ConnectionHolder context, java.lang.Object obj, java.lang.Object hints)
           
 java.lang.String[] listFc()
           
 java.lang.Object lookupFc(java.lang.String s)
           
 void read(org.objectweb.perseus.persistence.api.ConnectionHolder context, java.lang.Object oid, org.objectweb.perseus.persistence.api.State obj)
           
 void read(org.objectweb.perseus.persistence.api.WorkingSet ws, java.lang.Object oid, org.objectweb.perseus.persistence.api.State obj)
           
 void unbindFc(java.lang.String s)
           
 void unexport(org.objectweb.perseus.persistence.api.ConnectionHolder context, java.lang.Object oid)
           
 void unexport(org.objectweb.perseus.persistence.api.ConnectionHolder context, java.lang.Object oid, java.lang.Object hints)
           
 void write(org.objectweb.perseus.persistence.api.ConnectionHolder context, java.lang.Object oid, org.objectweb.perseus.persistence.api.State obj)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JORM_FACTORY_BINDING

public static final java.lang.String JORM_FACTORY_BINDING
See Also:
Constant Field Values

LOGGER_NAME

public static final java.lang.String LOGGER_NAME
See Also:
Constant Field Values

jormFactory

protected JormFactory jormFactory

logger

protected org.objectweb.util.monolog.api.Logger logger

ws2removedpo

protected java.util.Map ws2removedpo
listes for each working set the persistent object removed in other working set. When a working set want to read a persistent object from the data support, a prefetch buffer can be used. But the prefetch buffer can contains a removed object.

Constructor Detail

JormStorageManager

public JormStorageManager()
Method Detail

listFc

public java.lang.String[] listFc()
Specified by:
listFc in interface org.objectweb.fractal.api.control.BindingController

lookupFc

public java.lang.Object lookupFc(java.lang.String s)
Specified by:
lookupFc in interface org.objectweb.fractal.api.control.BindingController

bindFc

public void bindFc(java.lang.String s,
                   java.lang.Object o)
Specified by:
bindFc in interface org.objectweb.fractal.api.control.BindingController

unbindFc

public void unbindFc(java.lang.String s)
Specified by:
unbindFc in interface org.objectweb.fractal.api.control.BindingController

export

public java.lang.Object export(org.objectweb.perseus.persistence.api.ConnectionHolder context,
                               java.lang.Object obj)
                        throws org.objectweb.perseus.persistence.api.PersistenceException
Specified by:
export in interface org.objectweb.perseus.persistence.api.StorageManager
Throws:
org.objectweb.perseus.persistence.api.PersistenceException

export

public java.lang.Object export(org.objectweb.perseus.persistence.api.ConnectionHolder context,
                               java.lang.Object obj,
                               java.lang.Object hints)
                        throws org.objectweb.perseus.persistence.api.PersistenceException
Specified by:
export in interface org.objectweb.perseus.persistence.api.StorageManager
Throws:
org.objectweb.perseus.persistence.api.PersistenceException

unexport

public void unexport(org.objectweb.perseus.persistence.api.ConnectionHolder context,
                     java.lang.Object oid)
              throws org.objectweb.perseus.persistence.api.PersistenceException
Specified by:
unexport in interface org.objectweb.perseus.persistence.api.StorageManager
Throws:
org.objectweb.perseus.persistence.api.PersistenceException

unexport

public void unexport(org.objectweb.perseus.persistence.api.ConnectionHolder context,
                     java.lang.Object oid,
                     java.lang.Object hints)
              throws org.objectweb.perseus.persistence.api.PersistenceException
Specified by:
unexport in interface org.objectweb.perseus.persistence.api.StorageManager
Throws:
org.objectweb.perseus.persistence.api.PersistenceException

read

public void read(org.objectweb.perseus.persistence.api.ConnectionHolder context,
                 java.lang.Object oid,
                 org.objectweb.perseus.persistence.api.State obj)
          throws org.objectweb.perseus.persistence.api.PersistenceException
Specified by:
read in interface org.objectweb.perseus.persistence.api.StorageManager
Throws:
org.objectweb.perseus.persistence.api.PersistenceException

read

public void read(org.objectweb.perseus.persistence.api.WorkingSet ws,
                 java.lang.Object oid,
                 org.objectweb.perseus.persistence.api.State obj)
          throws org.objectweb.perseus.persistence.api.PersistenceException
Specified by:
read in interface org.objectweb.perseus.persistence.api.StorageManager
Throws:
org.objectweb.perseus.persistence.api.PersistenceException

write

public void write(org.objectweb.perseus.persistence.api.ConnectionHolder context,
                  java.lang.Object oid,
                  org.objectweb.perseus.persistence.api.State obj)
           throws org.objectweb.perseus.persistence.api.PersistenceException
Specified by:
write in interface org.objectweb.perseus.persistence.api.StorageManager
Throws:
org.objectweb.perseus.persistence.api.PersistenceException

beginWS

public void beginWS(org.objectweb.perseus.persistence.api.WorkingSet ws)
Specified by:
beginWS in interface org.objectweb.perseus.persistence.api.StorageManager

endWS

public void endWS(org.objectweb.perseus.persistence.api.WorkingSet ws)
forget the working set

Specified by:
endWS in interface org.objectweb.perseus.persistence.api.StorageManager