org.objectweb.jonas_ejb.container.jorm
Class MedorFactory
java.lang.Object
org.objectweb.jonas_ejb.container.JFactory
org.objectweb.jonas_ejb.container.JEntityFactory
org.objectweb.jonas_ejb.container.jorm.JormFactory
org.objectweb.jonas_ejb.container.jorm.MedorFactory
- All Implemented Interfaces:
- BeanFactory, org.objectweb.jorm.api.PClassMapping, org.objectweb.jorm.api.PClassMappingCtrl
- Direct Known Subclasses:
- RdbFactory
- public abstract class MedorFactory
- extends JormFactory
This class does the initialisation of Medor and permits to access to the
query. The optimisation of the query tree is done during the first time that
it is used.
- Author:
- S.Chassande-Barrioz
Nested classes inherited from class org.objectweb.jorm.api.PClassMapping |
org.objectweb.jorm.api.PClassMapping.ReferenceConfigurator |
Field Summary |
protected org.objectweb.medor.optim.api.ExecPlanGenerator |
indexesGenerator
|
protected org.objectweb.jorm.metainfo.api.Manager |
miManager
|
protected boolean |
optimizeAtInit
|
protected org.objectweb.medor.optim.api.QueryTransformer |
queryTransformer
This field references the query transformer which must be used to
optimize the medor requests. |
Fields inherited from class org.objectweb.jonas_ejb.container.JEntityFactory |
bctxlist, datasource, home, instanceCount, localhome, lockPolicy, maxCacheSize, minPoolSize, pklist, prefetch, reentrant, shared, txlist |
Fields inherited from interface org.objectweb.jorm.api.PClassMapping |
CLEANUP_DONOTHING, CLEANUP_REMOVEALL, CLEANUP_REMOVEDATA, CREATE_STRUCTURE_IF_NEEDED |
Method Summary |
org.objectweb.medor.tuple.api.TupleCollection |
evaluate(int methodIndex,
org.objectweb.medor.expression.api.ParameterOperand[] parameters)
It evaluate an optimized medor request according to the specified parameters
To evalute the medor request the query evaluator is used. |
org.objectweb.medor.eval.api.QueryEvaluator |
getOptimizedRequest(MethodCmp2Desc methodDesc)
It retrieves a medor request which is evaluable and optimized. |
void |
init(EntityDesc ed,
JContainer c,
java.lang.String mapperName)
Initialization of the factory. |
Methods inherited from class org.objectweb.jonas_ejb.container.JEntityFactory |
bindEJB, calculateAutomaticPk, checkTransaction, createNewInstance, dirtyInstances, dummyFinderException, existEJB, getCacheSize, getDataSource, getEJB, getEntityCounters, getHome, getJContext, getLocalHome, getMaxCacheSize, getMinPoolSize, getPoolSize, getTimerService, init, isBlocked, isBlocking, isPrefetch, isReentrant, isShared, lockPolicy, printAllPks, rebindEJB, reduceCache, registerContext, registerEJB, releaseJContext, removeEJB, removeTxListener, sync, syncForFind, synchronizeEntities |
Methods inherited from class org.objectweb.jonas_ejb.container.JFactory |
checkJonasVersion, checkSecurity, checkTransactionContainer, getContainer, getDeploymentDescriptor, getEjb10Environment, getEJBName, getEnv, getInitialContext, getTransactionManager, init, isClassAvailable, isTxBeanManaged, myClassLoader, postInvoke, postInvokeRemote, preInvoke, preInvokeRemote, resetComponentContext, setComponentContext |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.objectweb.jorm.api.PClassMapping |
configureRefFields, createPBinding, getClassName, getGenClassMapping, getGenClassMapping, getMetaInfo, getPBinder, getPMapper, getPNameCoder, getPNameCoder, getPNameIterator, getPNameIterator, getProjectName, getPType, init, isConform, setPBinder |
Methods inherited from interface org.objectweb.jorm.api.PClassMappingCtrl |
setGenClassMapping, setGenClassMapping, setPNameCoder, setPNameCoder, setProjectName |
queryTransformer
protected org.objectweb.medor.optim.api.QueryTransformer queryTransformer
- This field references the query transformer which must be used to
optimize the medor requests.
miManager
protected org.objectweb.jorm.metainfo.api.Manager miManager
indexesGenerator
protected org.objectweb.medor.optim.api.ExecPlanGenerator indexesGenerator
optimizeAtInit
protected boolean optimizeAtInit
MedorFactory
public MedorFactory()
getOptimizedRequest
public org.objectweb.medor.eval.api.QueryEvaluator getOptimizedRequest(MethodCmp2Desc methodDesc)
throws org.objectweb.medor.api.MedorException
- It retrieves a medor request which is evaluable and optimized. The method
index is translate into a request index, then the found request is
optimized if it is not already.
- Parameters:
methodDesc
- is the MethodCmp2Desc of the finder or select method.
- Returns:
- the QueryTree optimized which is associated to the method index
- Throws:
org.objectweb.medor.api.MedorException
evaluate
public org.objectweb.medor.tuple.api.TupleCollection evaluate(int methodIndex,
org.objectweb.medor.expression.api.ParameterOperand[] parameters)
throws org.objectweb.medor.api.MedorException
- It evaluate an optimized medor request according to the specified parameters
To evalute the medor request the query evaluator is used.
- Parameters:
methodIndex
- is method index which permits to find a medor request.parameters
- is the parameters
(key=parameter name / value=parameter value)
- Returns:
- TupleCollection is the result of the request
- Throws:
org.objectweb.medor.api.MedorException
init
public void init(EntityDesc ed,
JContainer c,
java.lang.String mapperName)
- Description copied from class:
JormFactory
- Initialization of the factory. This is called just after the newInstance()
from the JContainer (addBean method)
- Overrides:
init
in class JormFactory