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: * @(#)ComponentExtensionMBean.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;
030:
031: import java.util.Map;
032: import javax.management.ObjectName;
033:
034: /**
035: * This ComponentExtensionMBean is a facade MBean which provides component specific
036: * information such as the ObjectNames of the custom configuration MBeans registered
037: * by the component.
038: *
039: * @author Sun Microsystems, Inc.
040: */
041: public interface ComponentExtensionMBean {
042:
043: /**
044: * Get the ObjectName of the Component Configuration facade MBean for a target.
045: *
046: * @param target - target name
047: * @return the Component Configuration MBean name.
048: */
049: public ObjectName getComponentConfigurationFacadeMBeanName(
050: String target) throws javax.jbi.JBIException;
051:
052: /**
053: * Get the ObjectNames of all the custom MBeans registered by the component on the
054: * target. If the target is :
055: * <ul>
056: * <li>domain - the return map has all the instances the component is installed on,
057: * the corresponding value is the ObjectName(s) of the cutom MBeans
058: * registered on the instance. </li>
059: * <li>server - the return map has a single instance "server",
060: * the corresponding value is the ObjectName(s) of the cutom MBeans
061: * registered on the instance. </li>
062: * <li>"instance" - the return map has a single instance "instance",
063: * the corresponding value is the ObjectName(s) of the cutom MBeans
064: * registered on the instance. </li>
065: * <li>"cluster" - the return map has all the member instances in the cluster,
066: * the corresponding value is the ObjectName(s) of the cutom MBeans
067: * registered on the instance. </li>
068: * </ul>
069: *
070: * @param customName - the custom control name which will filter the MBeans
071: * @return a Map of the MBeanNames, each map entry is keyed by the instance
072: * name and the value is an array of ObjectNames of custom MBeans registered
073: * by the component on the instance. Only those MBeans whose ObjectNames
074: * have been generated based on MBeanNames.createCustomComponentMBeanName()
075: * will be present in the array. If the component does not have any registered
076: * MBeans the ObjectName array is empty.
077: * @exception javax.jbi.JBIException if some other failure occurs.
078: */
079: Map<String, ObjectName[]> getCustomMBeanNames(String customName)
080: throws javax.jbi.JBIException;
081:
082: /**
083: * Get the ObjectNames of all the Logger MBeans registered by the component on the
084: * target. If the target is :
085: * <ul>
086: * <li>domain - the return map has all the instances the component is installed on,
087: * the corresponding value is the ObjectName(s) of the Logger MBeans
088: * registered on the instance. </li>
089: * <li>server - the return map has a single instance "server",
090: * the corresponding value is the ObjectName(s) of the Logger MBeans
091: * registered on the instance. </li>
092: * <li>"instance" - the return map has a single instance "instance",
093: * the corresponding value is the ObjectName(s) of the Logger MBeans
094: * registered on the instance. </li>
095: * <li>"cluster" - the return map has all the member instances in the cluster,
096: * the corresponding value is the ObjectName(s) of the Logger MBeans
097: * registered on the instance. </li>
098: * </ul>
099: *
100: * @return a Map of the MBeanNames, each map entry is keyed by the instance
101: * name and the value is an array of ObjectNames of Logger MBeans registered
102: * by the component on the instance. Only those MBeans whose ObjectNames
103: * have been generated based on MBeanNames.createCustomComponentMBeanName()
104: * will be present in the array. If the component does not have any registered
105: * MBeans the ObjectName array is empty.
106: * @exception javax.jbi.JBIException if some other failure occurs.
107: */
108: Map<String, ObjectName[]> getLoggerMBeanNames()
109: throws javax.jbi.JBIException;
110:
111: }
|