View Javadoc

1   package com.atlassian.vcache.internal.core;
2   
3   import com.atlassian.vcache.CasIdentifier;
4   import com.atlassian.vcache.IdentifiedValue;
5   
6   import static java.util.Objects.requireNonNull;
7   
8   /**
9    * Implementation of {@link IdentifiedValue}
10   *
11   * @param <T> the value type
12   * @since 1.0.0
13   */
14  public class DefaultIdentifiedValue<T> implements IdentifiedValue<T> {
15      private final CasIdentifier identifier;
16      private final T value;
17  
18      public DefaultIdentifiedValue(CasIdentifier identifier, T value) {
19          this.identifier = requireNonNull(identifier);
20          this.value = requireNonNull(value);
21      }
22  
23      @Override
24      public CasIdentifier identifier() {
25          return identifier;
26      }
27  
28      @Override
29      public T value() {
30          return value;
31      }
32  
33      @Override
34      public String toString() {
35          return "DefaultIdentifiedValue{" +
36                  "identifier=" + identifier +
37                  ", value=" + value +
38                  '}';
39      }
40  }