package jas.spawner.refactor.structs;
import akka.actor.dsl.Inbox.Get;
public interface Getter<T> {
public T get();
public static interface Setter<T> {
public void set(T newObject);
}
public static class NonNullGetSet<T> implements Getter<T>, Setter<T> {
private T object;
public NonNullGetSet(T object) {
if (object == null) {
throw new IllegalArgumentException("Object cannot be null");
}
this.object = object;
}
@Override
public T get() {
return object;
}
@Override
public void set(T newObject) {
if (newObject != null) {
this.object = newObject;
}
}
}
public static class Gettable<T> implements Getter<T> {
private T object;
public Gettable(T object) {
if (object == null) {
throw new IllegalArgumentException("Object cannot be null");
}
this.object = object;
}
@Override
public T get() {
return object;
}
}
}