MCPcopy Create free account
hub / github.com/VolmitSoftware/Adapt / O

Class O

src/main/java/com/volmit/adapt/util/O.java:24–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22import java.util.List;
23
24public class O<T> implements Observable<T> {
25 private T t = null;
26 private List<Observer<T>> observers;
27
28 @Override
29 public T get() {
30 return t;
31 }
32
33 @Override
34 public O<T> set(T t) {
35 T x = t;
36 this.t = t;
37
38 if (observers != null && observers.isNotEmpty()) {
39 observers.forEach((o) -> o.onChanged(x, t));
40 }
41
42 return this;
43 }
44
45 @Override
46 public boolean has() {
47 return t != null;
48 }
49
50 @Override
51 public O<T> clearObservers() {
52 observers.clear();
53 return this;
54 }
55
56 @Override
57 public O<T> observe(Observer<T> t) {
58 if (observers == null) {
59 observers = new ArrayList<>();
60 }
61
62 observers.add(t);
63
64 return this;
65 }
66}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected