1 /* 2 * @(#)RelationSupportMBean.java 1.19 03/12/19 3 * 4 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 5 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 6 */ 7 8 package javax.management.relation; 9 10 /** 11 * A RelationSupport object is used internally by the Relation Service to 12 * represent simple relations (only roles, no properties or methods), with an 13 * unlimited number of roles, of any relation type. As internal representation, 14 * it is not exposed to the user. 15 * <P>RelationSupport class conforms to the design patterns of standard MBean. So 16 * the user can decide to instantiate a RelationSupport object himself as 17 * a MBean (as it follows the MBean design patterns), to register it in the 18 * MBean Server, and then to add it in the Relation Service. 19 * <P>The user can also, when creating his own MBean relation class, have it 20 * extending RelationSupport, to retrieve the implementations of required 21 * interfaces (see below). 22 * <P>It is also possible to have in a user relation MBean class a member 23 * being a RelationSupport object, and to implement the required interfaces by 24 * delegating all to this member. 25 * <P> RelationSupport implements the Relation interface (to be handled by the 26 * Relation Service). 27 * 28 * @since 1.5 29 */ 30 public interface RelationSupportMBean 31 extends Relation { 32 33 /** 34 * Returns an internal flag specifying if the object is still handled by 35 * the Relation Service. 36 * 37 * @return a Boolean equal to {@link Boolean#TRUE} if the object 38 * is still handled by the Relation Service and {@link 39 * Boolean#FALSE} otherwise. 40 */ 41 public Boolean isInRelationService(); 42 43 /** 44 * <p>Specifies whether this relation is handled by the Relation 45 * Service.</p> 46 * <P>BEWARE, this method has to be exposed as the Relation Service will 47 * access the relation through its management interface. It is RECOMMENDED 48 * NOT to use this method. Using it does not affect the registration of the 49 * relation object in the Relation Service, but will provide wrong 50 * information about it! 51 * 52 * @param theFlg whether the relation is handled by the Relation Service. 53 * 54 * @exception IllegalArgumentException if null parameter 55 */ 56 public void setRelationServiceManagementFlag(Boolean theFlg) 57 throws IllegalArgumentException; 58 } 59