View Javadoc

1   package org.csc.phynixx.watchdog.objectref;
2   
3   /*
4    * #%L
5    * phynixx-watchdog
6    * %%
7    * Copyright (C) 2014 csc
8    * %%
9    * Licensed under the Apache License, Version 2.0 (the "License");
10   * you may not use this file except in compliance with the License.
11   * You may obtain a copy of the License at
12   * 
13   *      http://www.apache.org/licenses/LICENSE-2.0
14   * 
15   * Unless required by applicable law or agreed to in writing, software
16   * distributed under the License is distributed on an "AS IS" BASIS,
17   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   * See the License for the specific language governing permissions and
19   * limitations under the License.
20   * #L%
21   */
22  
23  
24  /**
25   *
26   * Created by christoph on 09.06.2012.
27   */
28  public class ObjectReference<T> implements IObjectReference<T> {
29  
30      private T objectRef = null;
31  
32  
33      public ObjectReference(T objectRef) {
34          super();
35          this.objectRef = objectRef;
36      }
37  
38  
39      public String getObjectDescription() {
40  
41          return objectRef == null ? "NULL" : objectRef.toString();
42      }
43  
44  
45      public boolean isWeakReference() {
46          return false;
47      }
48  
49  
50      public T get() {
51          return objectRef;
52      }
53  
54      public boolean equals(Object obj) {
55          T objRef = this.get();
56          if (objRef == null) {
57              return obj == null;
58          }
59          return objRef.equals(obj);
60      }
61  
62      public int hashCode() {
63          Object objRef = this.get();
64          if (objRef == null) {
65              return "".hashCode();
66          }
67          return objRef.hashCode();
68      }
69  
70      public String toString() {
71          Object objRef = this.get();
72          if (objRef == null) {
73              return "";
74          }
75          return objRef.toString();
76      }
77  
78  
79      public boolean isStale() {
80          return false;
81      }
82  
83  }