org.apache.jdo.model.java
Interface JavaModelFactory

All Known Implementing Classes:
AbstractJavaModelFactory

public interface JavaModelFactory

The JavaModelFactory is the interface to use to obtain JavaModel instances. It defines methods to create and retrieve JavaModel instances. Furthermore it defines a convenience method to retrieve a JavaType by an implementation specific type description.

Since:
JDO 1.0.1
Author:
Michael Bouschen

Method Summary
 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).
 

Method Detail

createJavaModel

public JavaModel createJavaModel(java.lang.Object key)
                          throws ModelException
Creates a new empty JavaModel instance. A factory implementation may use the specified key when caching the new JavaModel instance.

Each JavaModelFactory imposes its own restrictions for the keys to cache JavaModel instances. Some implementations 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.

Parameters:
key - the key that may be used to cache the returned JavaModel instance.
Returns:
a new JavaModel instance.
Throws:
ModelException - if impossible; the key is of an inappropriate type or the key is null and this JavaModelFactory does not support null keys.

getJavaModel

public JavaModel getJavaModel(java.lang.Object key)
                       throws ModelFatalException
Returns the JavaModel instance for the specified 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.

Parameters:
key - the key used to cache the returned JavaModel instance.
Returns:
a JavaModel instance for the specified key.
Throws:
ModelFatalException - the key is of an inappropriate type or the key is null and this JavaModelFactory does not support null keys.

getJavaType

public JavaType getJavaType(java.lang.Object typeDesc)
                     throws ModelFatalException
Returns a JavaType instance for the specified type description (optional operation). This method is a convenience method and a short cut for 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 an 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.

Parameters:
typeDesc - the type description.
Returns:
a JavaType instance for the specified type.
Throws:
ModelFatalException - this factory does not support this short cut or does not support the specified type description.


Copyright © 2005-2007 Apache Software Foundation. All Rights Reserved.