isComputed() supported for lazy values
This commit is contained in:
@@ -155,6 +155,11 @@ public class LockBasedStorageManager implements StorageManager {
|
||||
this.computable = computable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isComputed() {
|
||||
return value != NOT_COMPUTED && value != COMPUTING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public T compute() {
|
||||
Object _value = value;
|
||||
|
||||
@@ -23,4 +23,7 @@ public interface NotNullLazyValue<T> extends Computable<T> {
|
||||
@Override
|
||||
@NotNull
|
||||
T compute();
|
||||
|
||||
// Needed for proper toString() behaviors
|
||||
boolean isComputed();
|
||||
}
|
||||
|
||||
@@ -23,4 +23,7 @@ public interface NullableLazyValue<T> extends Computable<T> {
|
||||
@Override
|
||||
@Nullable
|
||||
T compute();
|
||||
|
||||
// Needed for proper toString() behaviors
|
||||
boolean isComputed();
|
||||
}
|
||||
|
||||
@@ -30,8 +30,9 @@ public abstract class NullableLazyValueImpl<T> implements NullableLazyValue<T> {
|
||||
@Nullable
|
||||
private Object value = State.NOT_COMPUTED;
|
||||
|
||||
@Override
|
||||
public boolean isComputed() {
|
||||
return value != State.NOT_COMPUTED;
|
||||
return value != State.NOT_COMPUTED && value != State.COMPUTING;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user