View Javadoc

1   /*** 
2    * 
3    * Copyright 2004 Hiram Chirino
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  package org.codehaus.activemq.ra;
19  
20  import javax.resource.spi.endpoint.MessageEndpointFactory;
21  
22  
23  public class ActiveMQEndpointActivationKey {
24      final private MessageEndpointFactory messageEndpointFactory;
25      final private ActiveMQActivationSpec activationSpec;
26  
27      /***
28       * @return Returns the activationSpec.
29       */
30      public ActiveMQActivationSpec getActivationSpec() {
31          return activationSpec;
32      }
33  
34      /***
35       * @return Returns the messageEndpointFactory.
36       */
37      public MessageEndpointFactory getMessageEndpointFactory() {
38          return messageEndpointFactory;
39      }
40  
41      /***
42       * @param messageEndpointFactory
43       * @param activationSpec
44       */
45      public ActiveMQEndpointActivationKey(MessageEndpointFactory messageEndpointFactory, ActiveMQActivationSpec activationSpec) {
46          this.messageEndpointFactory = messageEndpointFactory;
47          this.activationSpec = activationSpec;
48      }
49  
50      /***
51       * @see java.lang.Object#hashCode()
52       */
53      public int hashCode() {
54          return messageEndpointFactory.hashCode() ^ activationSpec.hashCode();
55      }
56  
57      /***
58       * @see java.lang.Object#equals(java.lang.Object)
59       */
60      public boolean equals(Object obj) {
61          if (this == obj) {
62              return true;
63          }
64          if (obj == null) {
65              return false;
66          }
67          ActiveMQEndpointActivationKey o = (ActiveMQEndpointActivationKey) obj;
68  
69          //Per the 12.4.9 spec: 
70          //   MessageEndpointFactory does not implement equals()
71          //   ActivationSpec does not implement equals()
72          return o.activationSpec == activationSpec && o.messageEndpointFactory == messageEndpointFactory;
73      }
74  }