aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java51
1 files changed, 34 insertions, 17 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java
index 7bb108c..8245f87 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/BooleanInterpreterValue.java
@@ -1,44 +1,61 @@
package org.zwobble.couscous.interpreter.values;
import java.util.Optional;
-
import org.zwobble.couscous.interpreter.NoSuchField;
import org.zwobble.couscous.values.PrimitiveValue;
import org.zwobble.couscous.values.PrimitiveValues;
-import lombok.AccessLevel;
-import lombok.Getter;
-import lombok.Value;
-
-@Value
-public class BooleanInterpreterValue implements InterpreterValue {
- private static final ConcreteType TYPE = ConcreteType.builder(BooleanInterpreterValue.class, "Boolean")
- .build();
+public final class BooleanInterpreterValue implements InterpreterValue {
+ private static final ConcreteType TYPE = ConcreteType.builder(BooleanInterpreterValue.class, "Boolean").build();
+ private final boolean value;
- @Getter(value = AccessLevel.NONE)
- boolean value;
-
public boolean getValue() {
return value;
}
-
+
@Override
public ConcreteType getType() {
return TYPE;
}
-
+
@Override
public Optional<PrimitiveValue> toPrimitiveValue() {
return Optional.of(PrimitiveValues.value(value));
}
-
+
@Override
public InterpreterValue getField(String fieldName) {
throw new NoSuchField(fieldName);
}
-
+
@Override
public void setField(String fieldName, InterpreterValue value) {
throw new NoSuchField(fieldName);
}
-}
+
+ public BooleanInterpreterValue(final boolean value) {
+ this.value = value;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof BooleanInterpreterValue)) return false;
+ final BooleanInterpreterValue other = (BooleanInterpreterValue)o;
+ if (this.getValue() != other.getValue()) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = result * PRIME + (this.getValue() ? 79 : 97);
+ return result;
+ }
+
+ @java.lang.Override
+ public java.lang.String toString() {
+ return "BooleanInterpreterValue(value=" + this.getValue() + ")";
+ }
+} \ No newline at end of file