View Javadoc

1   package com.atlassian.vcache.internal.core.cas;
2   
3   import java.io.Serializable;
4   
5   import static java.util.Objects.requireNonNull;
6   
7   /**
8    * Implementation of {@link IdentifiedData} that hold a {@link Serializable} object.
9    *
10   * @since 1.1.0
11   */
12  public class IdentifiedDataSerializable extends IdentifiedData {
13      private final Serializable object;
14  
15      public IdentifiedDataSerializable(Serializable object) {
16          this.object = requireNonNull(object);
17      }
18  
19      public Serializable getObject() {
20          return object;
21      }
22  
23      @Override
24      public boolean equals(Object o) {
25          if (this == o) {
26              return true;
27          }
28          if (!(o instanceof IdentifiedDataSerializable)) {
29              return false;
30          }
31          if (!super.equals(o)) {
32              return false;
33          }
34  
35          final IdentifiedDataSerializable that = (IdentifiedDataSerializable) o;
36  
37          return object.equals(that.object);
38      }
39  
40      @Override
41      public int hashCode() {
42          return object.hashCode();
43      }
44  }