org.objectweb.speedo.mapper.api
Interface JormFactory

All Known Implementing Classes:
BasicJormFactory

public interface JormFactory

It defines a Jorm configurator which manages the PClassMapping, the PBinder and the PNamingContext for persistent classes.

Author:
S.Chassande-Barrioz

Method Summary
 java.lang.ClassLoader getClassLoader(java.lang.String className)
          Retrieves the classloader of a class if the class has been already mapped.
 org.objectweb.jorm.api.PClassMapping getGenClassMapping(java.lang.String path)
          Retrieve the PClassMapping of a gen class since its path
 byte getMappingStructureRule()
           
 org.objectweb.jorm.naming.api.PBinder getPBinder(java.lang.Class clazz)
          Retrieve the Binder managing the persistent class (Not a Generic class).
 org.objectweb.jorm.naming.api.PBinder getPBinder(java.lang.String classname, java.lang.ClassLoader cl)
          Retrieve the Binder managing the persistent class (Not a Generic class).
 org.objectweb.jorm.api.PClassMapping getPClassMapping(java.lang.Class clazz)
          Retrieves a PClassMapping instance managing a jorm class.
 org.objectweb.jorm.api.PClassMapping getPClassMapping(java.lang.String classname, java.lang.ClassLoader cl)
          Is a shortcut to the call getPClassMapping(Class.forName(classname, cl, true))
 org.objectweb.jorm.naming.api.PNamingContext getPNamingContext(java.lang.Class clazz)
          Retrieve the PNamingcontext managing the persistent class (Not a Generic class) and its sub classes.
 org.objectweb.jorm.naming.api.PNamingContext getPNamingContext(java.lang.String classname, java.lang.ClassLoader cl)
          Is a shortcut to the call getPNamingContext(Class.forName(classname, cl, true))
 

Method Detail

getPBinder

public org.objectweb.jorm.naming.api.PBinder getPBinder(java.lang.Class clazz)
                                                 throws org.objectweb.jorm.api.PException
Retrieve the Binder managing the persistent class (Not a Generic class). This method is a shortcut to this call: getPClassMapping(clazz).getPBinder()

Parameters:
clazz - the Jorm class name managed which the PBinder is asked
Returns:
the PBinder instance to use for the given jorm class name
Throws:
org.objectweb.jorm.api.PException

getPBinder

public org.objectweb.jorm.naming.api.PBinder getPBinder(java.lang.String classname,
                                                        java.lang.ClassLoader cl)
                                                 throws org.objectweb.jorm.api.PException
Retrieve the Binder managing the persistent class (Not a Generic class). This method is a shortcut to this call: getPClassMapping(Class.forName(classname, cl, true)).getPBinder()

Parameters:
classname - is the class name of the jorm class which the PBinder is required
cl - is the classloader where to find/load the class
Returns:
the PBinder instance to use for the given jorm class name
Throws:
org.objectweb.jorm.api.PException

getPClassMapping

public org.objectweb.jorm.api.PClassMapping getPClassMapping(java.lang.String classname,
                                                             java.lang.ClassLoader cl)
                                                      throws org.objectweb.jorm.api.PException
Is a shortcut to the call getPClassMapping(Class.forName(classname, cl, true))

Parameters:
classname - is the class name of the jorm class which the PClassMapping is required
cl - is the classloader where to find/load the class
Returns:
the PClassMapping which manages a SpeedoProxy
Throws:
org.objectweb.jorm.api.PException

getPClassMapping

public org.objectweb.jorm.api.PClassMapping getPClassMapping(java.lang.Class clazz)
                                                      throws org.objectweb.jorm.api.PException
Retrieves a PClassMapping instance managing a jorm class. If the PClassMapping does not already exist then it is created, configured and mapped in the PMapper. The PClassMapping configuration contains the PBinder assignement, the PNamingContext assignement for each reference, and the GenClassMapping assignement. The assigned GenClassMapping must also be configured. In other hand the PClassMapping of referenced class is not configured now. Only the PNamingContext is needed.

Parameters:
clazz - is the class of the jorm class which the PClassMapping is required
Returns:
the PClassMapping which manages the persistent class
Throws:
org.objectweb.jorm.api.PException

getGenClassMapping

public org.objectweb.jorm.api.PClassMapping getGenClassMapping(java.lang.String path)
Retrieve the PClassMapping of a gen class since its path

Parameters:
path - is the path representing the way to access the GenClassMapping

getPNamingContext

public org.objectweb.jorm.naming.api.PNamingContext getPNamingContext(java.lang.String classname,
                                                                      java.lang.ClassLoader cl)
                                                               throws org.objectweb.jorm.api.PException
Is a shortcut to the call getPNamingContext(Class.forName(classname, cl, true))

Parameters:
classname - the Jorm class name managed by the wanted PNamingContext
Returns:
the PNamingContext instance to use for the given jorm class name
Throws:
org.objectweb.jorm.api.PException
See Also:
getPNamingContext(Class)

getPNamingContext

public org.objectweb.jorm.naming.api.PNamingContext getPNamingContext(java.lang.Class clazz)
                                                               throws org.objectweb.jorm.api.PException
Retrieve the PNamingcontext managing the persistent class (Not a Generic class) and its sub classes.

Parameters:
clazz - the Jorm class name managed which the PNamingContext is asked
Returns:
the PBinder instance to use for the given jorm class name
Throws:
org.objectweb.jorm.api.PException

getClassLoader

public java.lang.ClassLoader getClassLoader(java.lang.String className)
Retrieves the classloader of a class if the class has been already mapped. Otherwise a null value is returned


getMappingStructureRule

public byte getMappingStructureRule()
See Also:
JormFactoryAttributes