View Javadoc

1   /**
2    *
3    *  Licensed to the Apache Software Foundation (ASF) under one or more
4    *  contributor license agreements.  See the NOTICE file distributed with
5    *  this work for additional information regarding copyright ownership.
6    *  The ASF licenses this file to You under the Apache License, Version 2.0
7    *  (the "License"); you may not use this file except in compliance with
8    *  the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   *  Unless required by applicable law or agreed to in writing, software
13   *  distributed under the License is distributed on an "AS IS" BASIS,
14   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   *  See the License for the specific language governing permissions and
16   *  limitations under the License.
17   */
18  package org.apache.geronimo.j2ee.deployment;
19  
20  import java.io.Serializable;
21  
22  /**
23   * @version $Revision: 470597 $ $Date: 2006-11-02 15:30:55 -0800 (Thu, 02 Nov 2006) $
24   */
25  public final class EJBRefInfo implements Serializable {
26      private final boolean isLocal;
27      private final boolean isSession;
28      private final String homeIntf;
29      private final String beanIntf;
30  
31      public EJBRefInfo(boolean local, boolean session, String homeIntf, String beanIntf) {
32          assert homeIntf != null: "homeIntf is null";
33          assert beanIntf != null: "beanIntf is null";
34          isLocal = local;
35          isSession = session;
36          this.homeIntf = homeIntf;
37          this.beanIntf = beanIntf;
38      }
39  
40      public boolean isLocal() {
41          return isLocal;
42      }
43  
44      public boolean isSession() {
45          return isSession;
46      }
47  
48      public String getHomeIntf() {
49          return homeIntf;
50      }
51  
52      public String getBeanIntf() {
53          return beanIntf;
54      }
55  
56      public boolean equals(Object object) {
57          if (!(object instanceof EJBRefInfo)) {
58              return false;
59          }
60  
61          // match isSession
62          EJBRefInfo ejbRefInfo = (EJBRefInfo) object;
63          return ejbRefInfo.isLocal == isLocal &&
64                  ejbRefInfo.isSession == isSession &&
65                  ejbRefInfo.homeIntf.equals(homeIntf) &&
66                  ejbRefInfo.beanIntf.equals(beanIntf);
67      }
68  
69      public int hashCode() {
70          int result = 17;
71          result = 37 * result + (isLocal ? 1 : 0);
72          result = 37 * result + (isSession ? 1 : 0);
73          result = 37 * result + homeIntf.hashCode();
74          result = 37 * result + beanIntf.hashCode();
75          return result;
76      }
77  }