001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)ControllerMBean.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: package com.sun.jbi.management.common;
030:
031: import javax.management.ObjectName;
032:
033: /**
034: * The ControllerMBean is a container MBEAN for the other MBEANS registered in
035: * a JBI Managed Component. It is used to collect a component MBEANS in order
036: * to present a Component View to higher level management agents. It also serves
037: * as a repository for controls that operate on the component as a whole, for example,
038: * about command, help command, etc.
039: *
040: * @author Sun Microsystems, Inc.
041: */
042: public interface ControllerMBean {
043: /**
044: * Return current version and other info about this component.
045: * @return info String
046: */
047: String getComponentInfo();
048:
049: /**
050: * Return help text about this component.
051: * @return help text about this component.
052: */
053: String getHelp();
054:
055: /**
056: * Return the JMX ObjectName for this component's ConfigurationMBean
057: * or null.
058: * @return the JMX ObjectName for this component's ConfigurationMBean
059: * or null.
060: */
061: ObjectName getConfigurationMBean();
062:
063: /**
064: * Return the JMX ObjectName for this component's DeployerMBean or null.
065: * @return the JMX ObjectName for this component's DeployerMBean or null.
066: */
067: ObjectName getDeployerMBean();
068:
069: /**
070: * Return the JMX ObjectName for this component's LifeCycleMBean
071: * or null.
072: * @return the JMX ObjectName for this component's LifeCycleMBean
073: * or null.
074: */
075: ObjectName getLifeCycleMBean();
076:
077: /**
078: * Return the ObjectName for LoggerMBean named <CODE>aLoggerName</CODE>,
079: * or null, if the named logger does not exist in this component.
080: * @return ObjectName of LoggerMBean.
081: */
082: ObjectName getLoggerMBeanByName(String aLoggerName);
083:
084: /**
085: * Return the ObjectName of the default LoggerMBean for this component.
086: * @return ObjectName of default LoggerMBean or null.
087: */
088: ObjectName getDefaultLoggerMBean();
089:
090: /**
091: * Return the ObjectNames for all of the LoggerMBean's for this component.
092: * @return array of ObjectName, possibly of zero length.
093: */
094: ObjectName[] getLoggerMBeans();
095:
096: /**
097: * Return the componentName
098: * @return the componentName
099: */
100: String getcomponentName();
101: }
|