KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > fulcrum > BaseUnicastRemoteService


1 package org.apache.fulcrum;
2
3 /* ====================================================================
4  * The Apache Software License, Version 1.1
5  *
6  * Copyright (c) 2001 The Apache Software Foundation. All rights
7  * reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  *
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in
18  * the documentation and/or other materials provided with the
19  * distribution.
20  *
21  * 3. The end-user documentation included with the redistribution,
22  * if any, must include the following acknowledgment:
23  * "This product includes software developed by the
24  * Apache Software Foundation (http://www.apache.org/)."
25  * Alternately, this acknowledgment may appear in the software itself,
26  * if and wherever such third-party acknowledgments normally appear.
27  *
28  * 4. The names "Apache" and "Apache Software Foundation" and
29  * "Apache Turbine" must not be used to endorse or promote products
30  * derived from this software without prior written permission. For
31  * written permission, please contact apache@apache.org.
32  *
33  * 5. Products derived from this software may not be called "Apache",
34  * "Apache Turbine", nor may "Apache" appear in their name, without
35  * prior written permission of the Apache Software Foundation.
36  *
37  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
41  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48  * SUCH DAMAGE.
49  * ====================================================================
50  *
51  * This software consists of voluntary contributions made by many
52  * individuals on behalf of the Apache Software Foundation. For more
53  * information on the Apache Software Foundation, please see
54  * <http://www.apache.org/>.
55  */

56
57 import java.rmi.RemoteException JavaDoc;
58 import java.rmi.server.UnicastRemoteObject JavaDoc;
59 import org.apache.commons.configuration.Configuration;
60 import org.apache.log4j.Category;
61
62 /**
63  * A base implementation of an {@link
64  * java.rmi.server.UnicastRemoteObject} as a Turbine {@link
65  * org.apache.fulcrum.Service}. Use this as you would use {@link
66  * org.apache.fulcrum.BaseService}, but when your Service
67  * implementation is a RMI server object.
68  *
69  * @author <a HREF="mailto:dlr@collab.net">Daniel Rall</a>
70  * @author <a HREF="mailto:mpoeschl@marmot.at">Martin Poeschl</a>
71  */

72 public class BaseUnicastRemoteService
73     extends UnicastRemoteObject JavaDoc
74     implements Service
75 {
76     protected Configuration configuration;
77     private boolean isInitialized;
78     private String JavaDoc name;
79     private ServiceBroker serviceBroker;
80
81     public BaseUnicastRemoteService()
82         throws RemoteException JavaDoc
83     {
84         isInitialized = false;
85         name = null;
86         serviceBroker = null;
87     }
88
89     /**
90      * Returns the configuration of this service.
91      *
92      * @return The configuration of this service.
93      */

94     public Configuration getConfiguration()
95     {
96         if (name == null)
97         {
98             return null;
99         }
100         else
101         {
102             if (configuration == null)
103             {
104                 configuration = getServiceBroker().getConfiguration(name);
105             }
106             return configuration;
107         }
108     }
109
110     public void init()
111         throws InitializationException
112     {
113         setInit(true);
114     }
115
116     protected void setInit(boolean value)
117     {
118         isInitialized = value;
119     }
120
121     public boolean isInitialized()
122     {
123         return isInitialized;
124     }
125
126     /**
127      * Shuts down this service.
128      */

129     public void shutdown()
130     {
131         setInit(false);
132     }
133
134     public void setName(String JavaDoc name)
135     {
136         this.name = name;
137     }
138
139     public String JavaDoc setName()
140     {
141         return name;
142     }
143
144     public ServiceBroker getServiceBroker()
145     {
146         return serviceBroker;
147     }
148
149     public void setServiceBroker(ServiceBroker broker)
150     {
151         this.serviceBroker = broker;
152     }
153
154     public String JavaDoc getRealPath(String JavaDoc path)
155     {
156         return null;
157     }
158
159     public Category getCategory()
160     {
161         return null;
162     }
163
164     public Category getCategory(String JavaDoc name)
165     {
166         return null;
167     }
168
169     /**
170      * Returns either <code>Initialized</code> or
171      * <code>Uninitialized</code>, depending upon {@link
172      * org.apache.fulcrum.Service} innitialization state.
173      *
174      * @see org.apache.fulcrum.Service#getStatus()
175      */

176     public String JavaDoc getStatus()
177         throws ServiceException
178     {
179         return (isInitialized() ? "Initialized" : "Uninitialized");
180     }
181 }
182
Popular Tags