|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jdo.impl.model.java.AbstractJavaModelFactory
Abstract super class for JavaModelFactory implementations. It provides a
JavaModel cache and implements the JavaModel lookup method
getJavaModel(Object key)
. Any JavaModel instance returned by
this method is automatically connected to its corresponding JDOModel
instance.
A non-abstract subclass must implement method
createJavaModel(Object key)
. The lookup method calls this
method if it cannot find a JavaModel instance in the cache. The method
should also check whether the specified key is of an appropriate type
for the JavaModelFactory implementation. A subclass should check whether
it can implement method getJavaType(Object typeDesc)
. The
implementation in AbstractJavaModelFactory always throws a
ModelFatalException.
Constructor Summary | |
AbstractJavaModelFactory()
|
Method Summary | |
abstract JavaModel |
createJavaModel(java.lang.Object key)
Creates a new empty JavaModel instance. |
JavaModel |
getJavaModel(java.lang.Object key)
Returns the JavaModel instance for the specified key. |
JavaType |
getJavaType(java.lang.Object typeDesc)
Returns a JavaType instance for the specified type description (optional operation). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public AbstractJavaModelFactory()
Method Detail |
public abstract JavaModel createJavaModel(java.lang.Object key) throws ModelException
Each JavaModelFactory imposes its own restrictions for the keys to
cache JavaModel instances. Some implementation will allow only keys
of a certain type. Some implementations will prohibit
null
keys. Attempting to use an ineligible key will
result in a ModelException
. This means
the specified key is of an inappropriate type for this
JavaModelFactory or if the key is null
and this
JavaModelFactory does not support null
keys.
createJavaModel
in interface JavaModelFactory
key
- the key that may be used to cache the returned JavaModel instance.
ModelException
- if impossible; the key is of an
inappropriate type or the key is null
and this
JavaModelFactory does not support null
keys.public JavaModel getJavaModel(java.lang.Object key)
The method throws a ModelFatalException
,
if the specified key is of an inappropriate type for this
JavaModelFactory or if the key is null
and this
JavaModelFactory does not support null
keys.
getJavaModel
in interface JavaModelFactory
key
- the key used to cache the returned JavaModel instance.
ModelFatalException
- the key is of an inappropriate type
or the key is null
and this JavaModelFactory does not
support null
keys.public JavaType getJavaType(java.lang.Object typeDesc)
getJavaModel(key).getJavaType(typeName)
.
If the factory supports this method, it needs to be able to get the
key for the JavaModel lookup and the type name for the JavaType
lookup from the specified typeDesc. An example for such a type
description is the java.lang.Class instance in the runtime
environment.
The method throws a ModelFatalException
,
if this factory does not support this short cut or if it does not
support the specified type description.
This implementation always throws a ModelFatalException.
getJavaType
in interface JavaModelFactory
typeDesc
- the type description.
ModelFatalException
- this factory does not support this
short cut or does not support the specified type description.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |