28 lines
720 B
Java
28 lines
720 B
Java
package io.gitlab.jfronny.muscript.data.dynamic.lens;
|
|
|
|
import io.gitlab.jfronny.muscript.ast.BoolExpr;
|
|
import io.gitlab.jfronny.muscript.data.dynamic.DBool;
|
|
import io.gitlab.jfronny.muscript.data.dynamic.Dynamic;
|
|
|
|
import java.util.Objects;
|
|
import java.util.function.BooleanSupplier;
|
|
|
|
public final class DBoolLens extends DLens implements DBool {
|
|
private final BooleanSupplier value;
|
|
|
|
public DBoolLens(Dynamic source, BooleanSupplier value) {
|
|
super(source);
|
|
this.value = Objects.requireNonNull(value);
|
|
}
|
|
|
|
@Override
|
|
public Boolean getValue() {
|
|
return value.getAsBoolean();
|
|
}
|
|
|
|
@Override
|
|
public BoolExpr toExpr() {
|
|
return source.toExpr().asBoolExpr();
|
|
}
|
|
}
|