Save This Page
Home » jdo2-model-2.3-ea-src » org.apache.jdo.impl.model.java » [javadoc | source]
org.apache.jdo.impl.model.java
abstract public class: AbstractJavaModelFactory [javadoc | source]
java.lang.Object
   org.apache.jdo.impl.model.java.AbstractJavaModelFactory

All Implemented Interfaces:
    JavaModelFactory

Direct Known Subclasses:
    ReflectionJavaModelFactory

Abstract super class for JavaModelFactory implementations. It provides a JavaModel cache and implements the JavaModel lookup method #getJavaModel(Object key) .

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.

Method from org.apache.jdo.impl.model.java.AbstractJavaModelFactory Summary:
createJavaModel,   getJavaModel,   getJavaType,   removeJavaModel,   removeJavaModel
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.jdo.impl.model.java.AbstractJavaModelFactory Detail:
 abstract public JavaModel createJavaModel(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 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 org.apache.jdo.model.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.

 public JavaModel getJavaModel(Object key) 
    Returns the JavaModel instance for the specified key.

    The method throws a org.apache.jdo.model.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.

 public JavaType getJavaType(Object typeDesc) 
    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 a type description is the java.lang.Class instance in the runtime environment.

    The method throws a org.apache.jdo.model.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.

 public  void removeJavaModel(JavaModel javaModel) 
    Removes the specified javaModel from the JavaModel cache. Note, if there are multiple entries in the cache with the specified javaModel as value, then all of them get removed. The method does not have an effect, if this factory does not have the specified javaModel.
 public  void removeJavaModel(Object key) 
    Removes the JavaModel for the specified key from the JavaModel cache. The method does not have an effect, if this factory does not have a JavaModel for the the specified key.