RelationType.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package javax.management.relation; import java.io.Serializable; import java.util.List; /** * This interface is implemented by a class that represents a relation.<p> * * The class {@link RelationTypeSupport} is available to help * implement this interface.<p> * * A relation type has a name and a list of role info objects for the * relation.<p> * * A relation type has to registered in the relation service. This is done * either by using createRelationType() to get a RelationTypeSupport * object kepy in the relation service, or by using addRelationType() * to add an external relation type to the relation service. * * @author <a href="mailto:Adrian.Brock@HappeningTimes.com">Adrian Brock</a>. * @version $Revision: 1.1 $ * */ public interface RelationType extends Serializable { // Constants --------------------------------------------------- // Public ------------------------------------------------------ /** * Retrieves the name of this relation type. * * @return the name. */ public String getRelationTypeName(); /** * Retrieves the list of role definitions in this relation type.<p> * * The return value is a list of RoleInfo objects. The list must be * an ArrayList. * * @return the list of Role Infos. */ public List getRoleInfos(); /** * Retrieves the role info for a role name.<p> * * @return the role info or null. * @exception IllegalArgumentException for a null role info name. * @exception RoleInfoNotFoundException for no role info with the * passed name in the relation type. */ public RoleInfo getRoleInfo(String roleInfoName) throws IllegalArgumentException, RoleInfoNotFoundException; }
RelationType.java |