package ch.akuhn.values;
public interface Value<V> {
public V getValue();
public Throwable getError();
public ImmutableValue<V> asImmutable();
public void setValue(V value);
public void setError(Throwable error);
public boolean isError();
public V getValueOrFail();
public void addDependent(ValueChangedListener dependent);
public void removeDependent(ValueChangedListener dependent);
}