1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.servicemix.jbi.management; 18 19 import javax.management.JMException; 20 import javax.management.MBeanAttributeInfo; 21 import javax.management.MBeanOperationInfo; 22 23 import java.beans.PropertyChangeListener; 24 25 /** 26 * An object to be managed can implement this class 27 * to provide more meta infomation for the MBeanInfo 28 * 29 * @version $Revision: 426415 $ 30 */ 31 public interface MBeanInfoProvider { 32 33 /** 34 * Get an array of MBeanAttributeInfo 35 * @return array of AttributeInfos 36 * @throws JMException 37 */ 38 public MBeanAttributeInfo[] getAttributeInfos() throws JMException; 39 40 /** 41 * Get an array of MBeanOperationInfo 42 * @return array of OperationInfos 43 * @throws JMException 44 */ 45 public MBeanOperationInfo[] getOperationInfos() throws JMException; 46 47 /** 48 * Get the Object to Manage 49 * @return the Object to Manage 50 */ 51 public Object getObjectToManage(); 52 53 /** 54 * Get the name of the item 55 * @return the name 56 */ 57 public String getName(); 58 59 /** 60 * Get the type of this mbean 61 * @return the type 62 */ 63 public String getType(); 64 65 /** 66 * Get the type of this mbean 67 * @return the type 68 */ 69 public String getSubType(); 70 71 /** 72 * Get the Description of the item 73 * @return the description 74 */ 75 public String getDescription(); 76 77 /** 78 * Register for propertyChange events 79 * @param l 80 */ 81 public void setPropertyChangeListener(PropertyChangeListener l); 82 83 84 85 }