|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.ibm.itim.dataservices.model.ModelMetaData
The ModelMetaData provides an interface for discovering and querying meta-data about the data model. This includes the classes and their relationships. This information can be defined through the interface of this class, or through the use of the meta-data file, enRoleModel.xml. The format of this XML file is described by the enRoleModel.dtd. The following snippet is an example:
<MODEL> <CLASS name="sample.SampleEntity"> <RELATIONSHIP name="parent" class="sample.SampleEntityParent"/> </CLASS> </MODEL>This snippet defines one class within the data model from the sample package named SampleEntity. This class has one relationship, parent, that is implemented by the SampleEntityParent class also within the sample package.
Field Summary | |
---|---|
static java.lang.String |
modelFileName
Constant name of the model meta-data file, enRoleModel.xml. |
Method Summary | |
---|---|
void |
defineClass(java.lang.Class cl)
Defines a new class in the data model. |
void |
defineEntity(java.lang.String cl,
java.lang.String auxClassName,
java.lang.String category)
Defines a relationship for a given class. |
void |
defineRelationship(java.lang.Class cl,
java.lang.String relationshipName,
java.lang.Class rel)
Defines a relationship for a given class. |
void |
defineRelationship(java.lang.String cl,
java.lang.String relationshipName,
java.lang.Class rel)
Defines a relationship for a given class. |
java.util.Collection |
getClasses()
Returns the names of all classes defined for the data model. |
java.lang.Class |
getEntity(java.util.Collection objClasses)
Retrieves the entity class with the given set of LDAP auxiliary class names. |
java.lang.String |
getEntityCategory(java.util.Collection objClasses)
Retrieves the entity category with the given set of LDAP auxiliary class names. |
static ModelMetaData |
getInstance()
Provides access to the single global instance of the ModelMetaData. |
java.lang.Class |
getRelationship(java.lang.Class cl,
java.lang.String relationshipName)
Retrieves the relationship with the given name for a given class. |
java.util.Set |
getSubjectCategories(java.lang.String relationshipName)
Returns a set of category names, whose implementation classes support the given relationship. |
java.util.Collection |
getSupportedRelationships(java.lang.Class cl)
Returns the names of the supported relationships for the given class. |
void |
loadTable()
Loads the table from the enRoleModel.xml file. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String modelFileName
Method Detail |
public java.util.Collection getClasses()
public java.lang.Class getRelationship(java.lang.Class cl, java.lang.String relationshipName) throws ObjectNotFoundException
cl
- Subject class of the relationship.relationshipName
- Name of the relationship to retrieve.
ObjectNotFoundException
- Thrown if unable to find a matching
Relationship implementation.public java.util.Collection getSupportedRelationships(java.lang.Class cl) throws ObjectNotFoundException
cl
- Class for which relationships are queried.
ObjectNotFoundException
- Thrown if unable to find the
given class in the data model meta-data.public java.lang.Class getEntity(java.util.Collection objClasses) throws ObjectNotFoundException
objClasses
- Collection of the LDAP auxiliary class.
ObjectNotFoundException
- Thrown if unable to find a matching
Entity implementation.public java.lang.String getEntityCategory(java.util.Collection objClasses)
objClasses
- Collection of the LDAP auxiliary class.
ObjectNotFoundException
- Thrown if unable to find a matching
Entity implementation.public void defineClass(java.lang.Class cl)
cl
- Class to add to the data model.public void defineRelationship(java.lang.Class cl, java.lang.String relationshipName, java.lang.Class rel)
cl
- Subject Class of the relationship.relationshipName
- Name of the relationship being defined.rel
- Implementation class implementing the Relationship interface.public void defineRelationship(java.lang.String cl, java.lang.String relationshipName, java.lang.Class rel)
cl
- Name of the Subject Class of the relationship.relationshipName
- Name of the relationship being defined.rel
- Implementation class implementing the Relationship interface.public void defineEntity(java.lang.String cl, java.lang.String auxClassName, java.lang.String category) throws java.lang.ClassNotFoundException
cl
- Name of the Subject Class of the relationship.auxClassName
- Name of the relationship being defined.category
- Implementation class implementing the Relationship interface.
java.lang.ClassNotFoundException
public java.util.Set getSubjectCategories(java.lang.String relationshipName)
relationshipName
- - Name of the relationship
public void loadTable() throws java.io.IOException, java.io.FileNotFoundException, ModelIntegrityException
java.io.IOException
java.io.FileNotFoundException
ModelIntegrityException
public static ModelMetaData getInstance() throws ModelIntegrityException
ModelIntegrityException
- Thrown if unable to access meta-data.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |