public class OAVTypeModel
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.lang.ClassLoader |
classloader
The class loader.
|
protected java.lang.String |
name
The model name.
|
protected static java.lang.Class[] |
PCL
The argument types for property change listener adding/removal (cached for speed).
|
protected OAVTypeModel[] |
tmodels
The contained type models.
|
protected java.util.Map |
types
All object types (name -> type).
|
Constructor and Description |
---|
OAVTypeModel(java.lang.String name)
Create a new model.
|
OAVTypeModel(java.lang.String name,
java.lang.ClassLoader classloader)
Create a new model.
|
OAVTypeModel(java.lang.String name,
java.lang.ClassLoader classloader,
OAVTypeModel[] subtypemodels)
Create a new model.
|
Modifier and Type | Method and Description |
---|---|
void |
addTypeModel(OAVTypeModel tmodel)
Adds a type model to the state.
|
boolean |
contains(OAVObjectType type)
Test if a type is contained.
|
OAVJavaType |
createJavaType(java.lang.Class clazz,
java.lang.String kind)
Create a Java type.
|
OAVObjectType |
createType(java.lang.String name)
Create a type.
|
OAVObjectType |
createType(java.lang.String name,
OAVObjectType supertype)
Create a type.
|
boolean |
equals(java.lang.Object object)
Test if two types are equal.
|
java.lang.ClassLoader |
getClassLoader()
Get the class loader.
|
protected OAVObjectType |
getDeepType(java.lang.String typename)
Search for a type in this model and all submodels.
|
OAVTypeModel |
getDirectTypeModel()
Get a copy of the typemodel without contained models.
|
OAVJavaType |
getJavaType(java.lang.Class clazz)
Get a type for a java class.
|
java.lang.String |
getName()
Get the name.
|
OAVObjectType |
getObjectType(java.lang.Class clazz)
Get a type per name.
|
OAVObjectType |
getObjectType(java.lang.String typename)
Get a type per name.
|
OAVTypeModel[] |
getTypeModels()
Get the contained typemodels.
|
int |
hashCode()
Get the hash code.
|
boolean |
removeType(OAVObjectType type)
Remove an existing type.
|
void |
setClassLoader(java.lang.ClassLoader classloader)
Set the classloader.
|
protected static java.lang.Class[] PCL
protected java.lang.String name
protected java.util.Map types
protected OAVTypeModel[] tmodels
protected java.lang.ClassLoader classloader
public OAVTypeModel(java.lang.String name)
name
- The name.public OAVTypeModel(java.lang.String name, java.lang.ClassLoader classloader)
name
- The name.public OAVTypeModel(java.lang.String name, java.lang.ClassLoader classloader, OAVTypeModel[] subtypemodels)
name
- The name.public OAVObjectType createType(java.lang.String name)
name
- The type name.public OAVObjectType createType(java.lang.String name, OAVObjectType supertype)
name
- The type name.supertype
- The supertype.public OAVJavaType createJavaType(java.lang.Class clazz, java.lang.String kind)
clazz
- The java class.kind
- The kind of type as defined in OAVJavaType.public boolean removeType(OAVObjectType type)
type
- The object type.public void addTypeModel(OAVTypeModel tmodel)
tmodel
- The type model.public boolean contains(OAVObjectType type)
type
- The type.public OAVObjectType getObjectType(java.lang.Class clazz)
typename
- The type name.java.lang.RuntimeException
- when the type is not found.public OAVObjectType getObjectType(java.lang.String typename)
typename
- The type name.java.lang.RuntimeException
- when the type is not found.public java.lang.String getName()
public java.lang.ClassLoader getClassLoader()
public void setClassLoader(java.lang.ClassLoader classloader)
classloader
- The classloader to set.public boolean equals(java.lang.Object object)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public OAVJavaType getJavaType(java.lang.Class clazz)
public OAVTypeModel[] getTypeModels()
public OAVTypeModel getDirectTypeModel()
protected OAVObjectType getDeepType(java.lang.String typename)