01: /* JFox, the OpenSource J2EE Application Server
02: *
03: * Copyright (C) 2002 huihoo.org
04: * Distributable under GNU LGPL license
05: * See the GNU Lesser General Public License for more details.
06: */
07:
08: package javax.management.relation;
09:
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: * @author <a href="mailto:young_yy@hotmail.org">Young Yang</a>
29: */
30:
31: public interface RelationSupportMBean extends Relation {
32:
33: /**
34: * Returns an internal flag specifying if the object is still handled by
35: * the Relation Service.
36: */
37: public Boolean isInRelationService();
38:
39: /**
40: * Sets the flag to specify that it is handled or not by the Relation
41: * Service
42: * <P>BEWARE, this method has to be exposed as the Relation Service will
43: * access the relation through its management interface. It is RECOMMENDED
44: * NOT to use this method. Using it does not affect the registration of the
45: * relation object in the Relation Service, but will provide wrong
46: * information about it!!!!
47: *
48: * @exception IllegalArgumentException if null parameter
49: */
50: public void setRelationServiceManagementFlag(Boolean flag)
51: throws IllegalArgumentException;
52: }
|