KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > bsf > remoting > EJBDefinition


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

53 package org.bsf.remoting;
54
55 import java.io.Serializable JavaDoc;
56
57
58 /**
59  * Defines the deployment settings of an EJB. It's home and remote interfaces...
60  * @author Gaetan Zoritchak
61  * @version 1.0
62  */

63
64 public class EJBDefinition implements Serializable JavaDoc {
65
66     private String JavaDoc _jndiName;
67     private String JavaDoc _home;
68     private String JavaDoc _remote;
69
70     public EJBDefinition(String JavaDoc p_jndiName, String JavaDoc p_homeClassName,
71                          String JavaDoc p_remoteClassName) {
72         _jndiName = p_jndiName;
73         _home = p_homeClassName;
74         _remote = p_remoteClassName;
75     }
76
77
78     public Class JavaDoc getHomeClass() {
79         try {
80             return Class.forName(_home);
81         } catch (ClassNotFoundException JavaDoc ex) {
82             throw new RuntimeException JavaDoc("Unable to load the class : " + _home);
83         }
84     }
85
86     public Class JavaDoc getRemoteClass() {
87         try {
88             return Class.forName(_remote);
89         } catch (ClassNotFoundException JavaDoc ex) {
90             throw new RuntimeException JavaDoc("Unable to load the class : " + _remote);
91         }
92     }
93
94     public String JavaDoc getRemoteName() {
95         return _remote;
96     }
97
98     public String JavaDoc getHomeName() {
99         return _home;
100     }
101
102     public String JavaDoc getJndiName() {
103         return _jndiName;
104     }
105
106     public boolean equals(Object JavaDoc obj) {
107         if (obj instanceof EJBDefinition) {
108             EJBDefinition definition = (EJBDefinition) obj;
109             if (!(definition.getHomeName().equals(_home))
110                     || !(definition.getJndiName().equals(_jndiName))
111                     || !(definition.getRemoteName().equals(_remote)))
112                 return false;
113             return true;
114         }
115         return false;
116     }
117
118     public String JavaDoc toString() {
119         return "EJB " + _jndiName + " Home class : " + _home;
120     }
121
122     public int hashCode() {
123         return _jndiName.hashCode();
124     }
125 }
126
127
128
129
Popular Tags