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 Joerg Schaible *
09: *****************************************************************************/package org.picocontainer.gems.jmx;
10:
11: import javax.management.MBeanInfo;
12:
13: import org.picocontainer.ComponentAdapter;
14: import org.picocontainer.PicoContainer;
15:
16: /**
17: * Provide a MBeanInfo for a component. Several strategies exist and can be used as plugin.
18: * @author Jörg Schaible
19: */
20: public interface MBeanInfoProvider {
21:
22: /**
23: * Provide a MBeanInfo for the given component. An implementation should not create an instance of the addComponent
24: * though.
25: * @param picoContainer The picoContainer to resolve dependencies or other services necessary to get the MBeanInfo.
26: * @param componentAdapter The ComponentAdapter of the component.
27: * @return Returns the MBeanInfo for the compoennt or <code>null</code> if none could be found or created.
28: */
29: MBeanInfo provide(PicoContainer picoContainer,
30: ComponentAdapter componentAdapter);
31: }
|