MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / State

Class State

projects/Java/src/com/chronoxor/proto/State.java:10–161  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8package com.chronoxor.proto;
9
10public final class State implements Comparable<State>
11{
12 public static final State unknown = new State(StateEnum.unknown);
13 public static final State invalid = new State(StateEnum.invalid);
14 public static final State initialized = new State(StateEnum.initialized);
15 public static final State calculated = new State(StateEnum.calculated);
16 public static final State broken = new State(StateEnum.broken);
17 public static final State good = new State(StateEnum.good);
18 public static final State bad = new State(StateEnum.bad);
19
20 private StateEnum value = StateEnum.values()[0];
21 private byte flags = value.getRaw();
22
23 public State() {}
24 public State(byte value) { setEnum(value); }
25 public State(StateEnum value) { setEnum(value); }
26 public State(java.util.EnumSet<StateEnum> value) { setEnum(value); }
27 public State(State value) { setEnum(value); }
28
29 public StateEnum getEnum() { return value; }
30 public byte getRaw() { return flags; }
31
32 public void setDefault() { setEnum((byte)0); }
33
34 public void setEnum(byte value) { this.flags = value; this.value = StateEnum.mapValue(value); }
35 public void setEnum(StateEnum value) { this.value = value; this.flags = value.getRaw(); }
36 public void setEnum(java.util.EnumSet<StateEnum> value) { setEnum(State.fromSet(value)); }
37 public void setEnum(State value) { this.value = value.value; this.flags = value.flags; }
38
39 public boolean hasFlags(byte flags) { return (((this.flags & flags) != 0) && ((this.flags & flags) == flags)); }
40 public boolean hasFlags(StateEnum flags) { return hasFlags(flags.getRaw()); }
41 public boolean hasFlags(State flags) { return hasFlags(flags.flags); }
42
43 public State setFlags(byte flags) { setEnum((byte)(this.flags | flags)); return this; }
44 public State setFlags(StateEnum flags) { setFlags(flags.getRaw()); return this; }
45 public State setFlags(State flags) { setFlags(flags.flags); return this; }
46
47 public State removeFlags(byte flags) { setEnum((byte)(this.flags & ~flags)); return this; }
48 public State removeFlags(StateEnum flags) { removeFlags(flags.getRaw()); return this; }
49 public State removeFlags(State flags) { removeFlags(flags.flags); return this; }
50
51 public java.util.EnumSet<StateEnum> getAllSet() { return value.getAllSet(); }
52 public java.util.EnumSet<StateEnum> getNoneSet() { return value.getNoneSet(); }
53 public java.util.EnumSet<StateEnum> getCurrentSet() { return value.getCurrentSet(); }
54
55 public static State fromSet(java.util.EnumSet<StateEnum> set)
56 {
57 byte result = 0;
58 if (set.contains(unknown.getEnum()))
59 {
60 result |= unknown.flags;
61 }
62 if (set.contains(invalid.getEnum()))
63 {
64 result |= invalid.flags;
65 }
66 if (set.contains(initialized.getEnum()))
67 {

Callers

nothing calls this directly

Calls 2

valuesMethod · 0.45
getRawMethod · 0.45

Tested by

no test coverage detected