public class RuntimeJavaModel extends ReflectionJavaModel
java.lang.Class and
java.lang.reflect.Field instances to get Java related
metadata about types and fields.
The RuntimeJavaModelFactory caches JavaModel instances per ClassLoader. The RuntimeJavaModel implementation will use this ClassLoader to lookup any type by name. This makes sure that the type name is unique.
Any JavaType instance bound to a RuntimeJavaModel instance wraps a class
instance that is loaded by the ClassLoader that corresponds to this
RuntimeJavaModel. The only exception are PredefinedType instances
(see PredefinedType.getPredefinedTypes() which are present in every
RuntimeJavaModel instance.
declaringJavaModelFactorychildren, jdoModel, parent, types| Constructor and Description |
|---|
RuntimeJavaModel(java.lang.ClassLoader classLoader,
ReflectionJavaModelFactory declaringJavaModelFactory)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected JavaType |
createJavaType(java.lang.Class clazz)
Creates a new JavaType instance for the specified Class object.
|
JavaType |
getJavaType(java.lang.Class clazz)
The method returns the JavaType instance for the type name of the
specified class object.
|
JavaType |
getJavaType(java.lang.String name)
The method returns the JavaType instance for the specified type
name.
|
getClassLoader, getDeclaringJavaModelFactory, getInputStreamForResource, getJavaTypeInternalgetChildren, getJDOModel, getParent, setJDOModel, setParentpublic RuntimeJavaModel(java.lang.ClassLoader classLoader,
ReflectionJavaModelFactory declaringJavaModelFactory)
public JavaType getJavaType(java.lang.String name)
null if this model instance does not
know a type with the specified name.
Note, this method calls Class.forName with the wrapped ClassLoader, if it cannot find a JavaType with the specified name in the cache.
getJavaType in interface JavaModelgetJavaType in class ReflectionJavaModelname - the name of the typenull if not present in this model instance.public JavaType getJavaType(java.lang.Class clazz)
getJavaType(clazz.getName()). The major difference
between this method and getJavaType taking a type name is that this
method is supposed to return a non-null value. The
specified class object describes an existing type.
Note, this implementation does not call the overloaded getJavaType
method taking a String, because this would retrieve the Class
instance for the specified type again. Instead, it checks the cache
directly. If not available it creates a new ReflectionJavaType using
the specified Class instance.
getJavaType in interface JavaModelgetJavaType in class ReflectionJavaModelclazz - the Class instance representing the typenull if not present in this model instance.protected JavaType createJavaType(java.lang.Class clazz)
This implementation returns a RuntimeJavaType instance.
createJavaType in class ReflectionJavaModelclazz - the Class instance representing the typeCopyright © 2005-2012 Apache Software Foundation. All Rights Reserved.