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.DynamicMBean;
12: import javax.management.MalformedObjectNameException;
13: import javax.management.ObjectName;
14:
15: /**
16: * Core interface for generating ObjectName instances for a DynamicMBean.
17: * @author Jörg Schaible
18: */
19: public interface ObjectNameFactory {
20:
21: /**
22: * Create an ObjectName.
23: * @param key The key of the component within PicoContainer.
24: * @param mBean The instance of the DynamicMBean.
25: * @return Returns the Object Name for the DynamicMBean.
26: * @throws MalformedObjectNameException Thrown for an invalid part in the {@link ObjectName}.
27: */
28: ObjectName create(Object key, DynamicMBean mBean)
29: throws MalformedObjectNameException;
30: }
|