01: /*****************************************************************************
02: * Copyright (C) NanoContainer Organization. All rights reserved. *
03: * ------------------------------------------------------------------------- *
04: * The software in this package is published under the terms of the BSD *
05: * style license a copy of which has been included with this distribution in *
06: * the LICENSE.txt file. *
07: * *
08: * Original code by Michael Ward *
09: *****************************************************************************/package org.picocontainer.gems.jmx;
10:
11: import javax.management.DynamicMBean;
12: import javax.management.MBeanInfo;
13:
14: /**
15: * This factory is responsible for creating instances of DynamicMBean without being dependent on one particular
16: * implementation or external dependency.
17: * @author Michael Ward
18: * @author Jörg Schaible
19: */
20: public interface DynamicMBeanFactory {
21:
22: /**
23: * Create a DynamicMBean from instance and the provided {@link MBeanInfo}.
24: * @param componentInstance the instance of the Object being exposed for management.
25: * @param management the management interface (can be <code>null</code>).
26: * @param mBeanInfo the explicitly provided management information (can be <code>null</code>).
27: * @return the {@link DynamicMBean}.
28: */
29: public DynamicMBean create(Object componentInstance,
30: Class management, MBeanInfo mBeanInfo);
31: }
|