View Javadoc

1   package com.atlassian.vcache.internal.core;
2   
3   import com.atlassian.vcache.ExternalCacheSettings;
4   import com.atlassian.vcache.internal.ExternalCacheDetails;
5   
6   import static java.util.Objects.requireNonNull;
7   
8   /**
9    * Default immutable implementation of {@link ExternalCacheDetails}.
10   *
11   * @since 1.0.0
12   */
13  public class DefaultExternalCacheDetails implements ExternalCacheDetails {
14      private final String name;
15      private final BufferPolicy policy;
16      private final ExternalCacheSettings settings;
17  
18      public DefaultExternalCacheDetails(String name, BufferPolicy policy, ExternalCacheSettings settings) {
19          this.name = requireNonNull(name);
20          this.policy = requireNonNull(policy);
21          this.settings = requireNonNull(settings);
22      }
23  
24      @Override
25      public String getName() {
26          return name;
27      }
28  
29      @Override
30      public BufferPolicy getPolicy() {
31          return policy;
32      }
33  
34      @Override
35      public ExternalCacheSettings getSettings() {
36          return settings;
37      }
38  }