com.ibm.itim.dataservices.model
Interface IModelMetaData


public interface IModelMetaData


Field Summary
static java.lang.String modelFileName
          Constant name of the model meta-data file, enRoleModel.xml.
static java.lang.String NAME
           
 
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<java.lang.String> getClasses()
          Returns the names of all classes defined for the data model.
 java.lang.Class getEntity(java.util.Collection<java.lang.String> objClasses)
          Retrieves the entity class with the given set of LDAP auxiliary class names.
 java.lang.String getEntityCategory(java.util.Collection<java.lang.String> objClasses)
          Retrieves the entity category with the given set of LDAP auxiliary class names.
 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<java.lang.String> getSubjectCategories(java.lang.String relationshipName)
          Returns a set of category names, whose implementation classes support the given relationship.
 java.util.Collection<java.lang.String> 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.
 

Field Detail

NAME

static final java.lang.String NAME
See Also:
Constant Field Values

modelFileName

static final java.lang.String modelFileName
Constant name of the model meta-data file, enRoleModel.xml.

See Also:
Constant Field Values
Method Detail

getClasses

java.util.Collection<java.lang.String> getClasses()
                                                  throws ModelIntegrityException
Returns the names of all classes defined for the data model.

Returns:
Collection of class names.
Throws:
ModelIntegrityException

getRelationship

java.lang.Class getRelationship(java.lang.Class cl,
                                java.lang.String relationshipName)
                                throws ObjectNotFoundException,
                                       ModelIntegrityException
Retrieves the relationship with the given name for a given class.

Parameters:
cl - Subject class of the relationship.
relationshipName - Name of the relationship to retrieve.
Returns:
Matching Relationship implementation Class.
Throws:
ObjectNotFoundException - Thrown if unable to find a matching Relationship implementation.
ModelIntegrityException

getSupportedRelationships

java.util.Collection<java.lang.String> getSupportedRelationships(java.lang.Class cl)
                                                                 throws ObjectNotFoundException,
                                                                        ModelIntegrityException
Returns the names of the supported relationships for the given class.

Parameters:
cl - Class for which relationships are queried.
Returns:
Collection of supported relationship names.
Throws:
ObjectNotFoundException - Thrown if unable to find the given class in the data model meta-data.
ModelIntegrityException

getEntity

java.lang.Class getEntity(java.util.Collection<java.lang.String> objClasses)
                          throws ObjectNotFoundException,
                                 ModelIntegrityException
Retrieves the entity class with the given set of LDAP auxiliary class names.

Parameters:
objClasses - Collection of the LDAP auxiliary class.
Returns:
Matching Entity implementation Class.
Throws:
ObjectNotFoundException - Thrown if unable to find a matching Entity implementation.
ModelIntegrityException

getEntityCategory

java.lang.String getEntityCategory(java.util.Collection<java.lang.String> objClasses)
                                   throws ModelIntegrityException
Retrieves the entity category with the given set of LDAP auxiliary class names.

Parameters:
objClasses - Collection of the LDAP auxiliary class.
Returns:
entity category.
Throws:
ModelIntegrityException
ObjectNotFoundException - Thrown if unable to find a matching Entity implementation.

defineClass

void defineClass(java.lang.Class cl)
                 throws ModelIntegrityException
Defines a new class in the data model. This definition is cached and is not saved to the enRoleModel.xml file.

Parameters:
cl - Class to add to the data model.
Throws:
ModelIntegrityException

defineRelationship

void defineRelationship(java.lang.Class cl,
                        java.lang.String relationshipName,
                        java.lang.Class rel)
                        throws ModelIntegrityException
Defines a relationship for a given class. This definition is cached and is not saved to the enRoleModel.xml file.

Parameters:
cl - Subject Class of the relationship.
relationshipName - Name of the relationship being defined.
rel - Implementation class implementing the Relationship interface.
Throws:
ModelIntegrityException

defineRelationship

void defineRelationship(java.lang.String cl,
                        java.lang.String relationshipName,
                        java.lang.Class rel)
                        throws ModelIntegrityException
Defines a relationship for a given class. This definition is cached and is not saved to the enRoleModel.xml file.

Parameters:
cl - Name of the Subject Class of the relationship.
relationshipName - Name of the relationship being defined.
rel - Implementation class implementing the Relationship interface.
Throws:
ModelIntegrityException

defineEntity

void defineEntity(java.lang.String cl,
                  java.lang.String auxClassName,
                  java.lang.String category)
                  throws java.lang.ClassNotFoundException,
                         ModelIntegrityException
Defines a relationship for a given class. This definition is cached and is not saved to the enRoleModel.xml file.

Parameters:
cl - Name of the Subject Class of the relationship.
auxClassName - Name of the relationship being defined.
category - Implementation class implementing the Relationship interface. The category can be found at ObjectProfileCategory class.
Throws:
java.lang.ClassNotFoundException - Name of the Subject class of the relationship cannot be found.
ModelIntegrityException
See Also:
ObjectProfileCategory

getSubjectCategories

java.util.Set<java.lang.String> getSubjectCategories(java.lang.String relationshipName)
                                                     throws ModelIntegrityException
Returns a set of category names, whose implementation classes support the given relationship.

Parameters:
relationshipName - Name of the relationship
Returns:
Set of categories that support the relationship.
Throws:
ModelIntegrityException

loadTable

void loadTable()
               throws java.io.IOException,
                      java.io.FileNotFoundException,
                      ModelIntegrityException
Loads the table from the enRoleModel.xml file.

Throws:
java.io.IOException
java.io.FileNotFoundException
ModelIntegrityException


IBM Security Identity Manager 6.0.0
© Copyright International Business Machines Corporation 2007, 2012. All rights reserved. US Government Users Restricited Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.