View Javadoc
1   package com.atlassian.plugin.manager;
2   
3   import java.io.Serializable;
4   
5   import static java.lang.System.currentTimeMillis;
6   
7   /**
8    * The state of a plugin with the current status (enabled/disabled) and a timestamp of last state update
9    */
10  public class PluginEnabledState implements Serializable {
11      public static long UNKNOWN_ENABLED_TIME = 0;
12  
13      private final boolean enabled;
14      private final long timestamp;
15  
16      public PluginEnabledState(boolean enabled, long timestamp) {
17          this.enabled = enabled;
18          this.timestamp = timestamp;
19      }
20  
21      @Deprecated
22      public PluginEnabledState(boolean enabled) {
23          this(enabled, UNKNOWN_ENABLED_TIME);
24      }
25  
26      public Boolean isEnabled() {
27          return enabled;
28      }
29  
30      public long getTimestamp() {
31          return timestamp;
32      }
33  
34      @Override
35      public boolean equals(Object o) {
36          if (this == o) return true;
37          if (o == null || getClass() != o.getClass()) return false;
38  
39          PluginEnabledState that = (PluginEnabledState) o;
40  
41          return enabled == that.enabled;
42      }
43  
44      @Override
45      public int hashCode() {
46          return (enabled ? 1 : 0);
47      }
48  
49      public static PluginEnabledState getPluginEnabledStateWithCurrentTime(boolean enabled){
50          return new PluginEnabledState(enabled, currentTimeMillis());
51      }
52  }