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 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 }