1 package com.atlassian.plugin.manager;
2
3 import java.io.Serializable;
4
5 import static java.lang.System.currentTimeMillis;
6
7
8
9
10 public class PluginEnabledState implements Serializable {
11 public static final 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
22
23
24
25
26 @Deprecated
27 public PluginEnabledState(boolean enabled) {
28 this(enabled, UNKNOWN_ENABLED_TIME);
29 }
30
31 public Boolean isEnabled() {
32 return enabled;
33 }
34
35 public long getTimestamp() {
36 return timestamp;
37 }
38
39 @Override
40 public boolean equals(Object o) {
41 if (this == o) return true;
42 if (o == null || getClass() != o.getClass()) return false;
43
44 PluginEnabledState that = (PluginEnabledState) o;
45
46 return enabled == that.enabled;
47 }
48
49 @Override
50 public int hashCode() {
51 return (enabled ? 1 : 0);
52 }
53
54 public static PluginEnabledState getPluginEnabledStateWithCurrentTime(boolean enabled){
55 return new PluginEnabledState(enabled, currentTimeMillis());
56 }
57 }