KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > registry > RegistryComponent


1 /*
2  * $Id: RegistryComponent.java 3798 2006-11-04 04:07:14Z aperepel $
3  * --------------------------------------------------------------------------------------
4  * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
5  *
6  * The software in this package is published under the terms of the MuleSource MPL
7  * license, a copy of which has been included with this distribution in the
8  * LICENSE.txt file.
9  */

10
11 package org.mule.registry;
12
13 import javax.management.ObjectName JavaDoc;
14
15 import java.util.List JavaDoc;
16
17 /**
18  * @author <a HREF="mailto:gnt@codehaus.org">Guillaume Nodet</a>
19  */

20 public interface RegistryComponent extends Entry
21 {
22
23     ComponentType getType();
24
25     void restoreState() throws RegistryException;
26
27     void saveAndShutdown() throws RegistryException;
28
29     /**
30      * Start the item.
31      *
32      * @exception RegistryException if the item fails to start.
33      */

34     void start() throws RegistryException;
35
36     /**
37      * Stop the item. This suspends current messaging activities.
38      *
39      * @exception RegistryException if the item fails to stop.
40      */

41     void stop() throws RegistryException;
42
43     /**
44      * Shut down the item. The releases resources, preparatory to uninstallation.
45      *
46      * @exception RegistryException if the item fails to shut down.
47      */

48     void shutDown() throws RegistryException;
49
50     /**
51      * Retrieves the libraries that this component uses.
52      *
53      * @return
54      */

55     Library[] getLibraries();
56
57     /**
58      * Units deployed to this component
59      *
60      * @return
61      */

62     Unit[] getUnits();
63
64     /**
65      *
66      */

67     List JavaDoc getClassPathElements();
68
69     void setClassPathElements(List JavaDoc elements);
70
71     boolean isClassLoaderParentFirst();
72
73     boolean isTransient();
74
75     void setTransient(boolean isTransient);
76
77     /**
78      * Return the component implementation.
79      *
80      * @return
81      */

82     Object JavaDoc getComponent();
83
84     void setComponent(Object JavaDoc component);
85
86     /**
87      * Return the descriptor for this component.
88      *
89      * @return
90      */

91     RegistryDescriptor getDescriptor() throws RegistryException;
92
93     void setDescriptor(RegistryDescriptor descriptor) throws RegistryException;
94
95     /**
96      * Return the ObjectName under which the lifecycle mbean is registered.
97      *
98      * @return
99      */

100     ObjectName JavaDoc getObjectName();
101
102     /**
103      * Return the private component workspace
104      *
105      * @return
106      */

107     String JavaDoc getWorkspaceRoot();
108
109     void setWorkspaceRoot(String JavaDoc workspaceRoot);
110
111     /**
112      * Install this component.
113      *
114      * @throws RegistryException
115      */

116     void install() throws RegistryException;
117
118     /**
119      * Uninstall this component.
120      *
121      * @throws RegistryException
122      */

123     void uninstall() throws RegistryException;
124
125     Registry getRegistry();
126
127     ObjectName JavaDoc initComponent() throws Exception JavaDoc;
128
129     void addUnit(Unit unit);
130
131     void removeUnit(Unit unit);
132 }
133
Popular Tags