01: package org.objectweb.celtix.bindings;
02:
03: import org.objectweb.celtix.BusException;
04:
05: /**
06: * The manager interface represents a repository for accessing
07: * <code>BindingFactory</code>s.
08: *
09: * Provides methods necessary for registering, deregistering or retrieving of
10: * BindingFactorys.
11: */
12: public interface BindingManager {
13:
14: /**
15: * Registers a BindingFactory using the provided name.
16: *
17: * @param name The name of the BindingFactory.
18: * @param binding The instance of the class that implements the
19: * BindingFactory interface.
20: * @throws BusException If there is an error registering the BindingFactory.
21: */
22: void registerBinding(String name, BindingFactory binding)
23: throws BusException;
24:
25: /**
26: * Deregisters the BindingFactory with the provided name.
27: *
28: * @param name The name of the BindingFactory.
29: * @throws BusException If there is an error deregistering the name.
30: */
31: void deregisterBinding(String name) throws BusException;
32:
33: /**
34: * Retrieves the BindingFactory registered with the given name.
35: *
36: * @param name The name of the BindingFactory.
37: * @return BindingFactory The registered BindingFactory.
38: * @throws BusException If there is an error retrieving the BindingFactory.
39: */
40: BindingFactory getBindingFactory(String name) throws BusException;
41:
42: /**
43: * Shuts down the BindingManager and do clean up things.
44: */
45: void shutdown();
46: }
|