ede3954d86
See notes in "Foreword to the Leanpub Edition"
19 lines
533 B
Java
19 lines
533 B
Java
// patterns/Single.java
|
|
// (c)2021 MindView LLC: see Copyright.txt
|
|
// We make no guarantees that this code is fit for any purpose.
|
|
// Visit http://OnJava8.com for more book information.
|
|
|
|
@SuppressWarnings("unchecked")
|
|
public final class Single<T> {
|
|
private static Object single; // [1]
|
|
public Single(T val) {
|
|
if(single != null)
|
|
throw new RuntimeException(
|
|
"Attempt to reassign Single<" +
|
|
val.getClass().getSimpleName() + ">"
|
|
);
|
|
single = val;
|
|
}
|
|
public T get() { return (T)single; }
|
|
}
|