01: /*
02: * Copyright (C) The MX4J Contributors.
03: * All rights reserved.
04: *
05: * This software is distributed under the terms of the MX4J License version 1.0.
06: * See the terms of the MX4J License in the documentation provided with this software.
07: */
08:
09: package mx4j.server;
10:
11: import java.util.Iterator;
12: import javax.management.ObjectName;
13:
14: /**
15: * The MBeanServer implementation delegates to implementations of this interface the storage of registered MBeans. <p>
16: * All necessary synchronization code is taken care by the MBeanServer, so implementations can be coded without caring
17: * of synchronization issues.
18: *
19: * @version $Revision: 1.6 $
20: */
21: public interface MBeanRepository extends Cloneable {
22: /**
23: * Returns the metadata information associated with the given object name.
24: *
25: * @see #put
26: */
27: public MBeanMetaData get(ObjectName name);
28:
29: /**
30: * Inserts the given metadata associated with the given object name into this repository.
31: *
32: * @see #get
33: */
34: public void put(ObjectName name, MBeanMetaData metadata);
35:
36: /**
37: * Removes the metadata associated with the given object name from this repository.
38: */
39: public void remove(ObjectName name);
40:
41: /**
42: * Returns the size of this repository.
43: */
44: public int size();
45:
46: /**
47: * Returns an iterator on the metadata stored in this repository.
48: */
49: public Iterator iterator();
50:
51: /**
52: * Clones this MBean repository
53: */
54: public Object clone();
55: }
|