aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/values/IntegerValue.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-01 21:04:37 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-01 21:04:37 +0100
commit8187130b8a8aabbcf983e530413d6969141d6da2 (patch)
treed72dcb499d08812e7391b95cdf780dff054b3a3c /src/main/java/org/zwobble/couscous/values/IntegerValue.java
parent36f3fdbcad95dcc5bfec785fffca4f42b24d1307 (diff)
Allow static method calls
Diffstat (limited to 'src/main/java/org/zwobble/couscous/values/IntegerValue.java')
-rw-r--r--src/main/java/org/zwobble/couscous/values/IntegerValue.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/values/IntegerValue.java b/src/main/java/org/zwobble/couscous/values/IntegerValue.java
index 8b5b423..1b20a01 100644
--- a/src/main/java/org/zwobble/couscous/values/IntegerValue.java
+++ b/src/main/java/org/zwobble/couscous/values/IntegerValue.java
@@ -1,10 +1,19 @@
package org.zwobble.couscous.values;
+import static java.util.Arrays.asList;
+
import lombok.Value;
+import lombok.val;
@Value
public class IntegerValue implements InterpreterValue {
- public static final ConcreteType<?> TYPE = ConcreteType.<IntegerValue>builder()
+ public static final ConcreteType<?> TYPE = ConcreteType.<IntegerValue>builder("Integer")
+ .staticMethod("parseInt", () -> asList(StringValue.TYPE),
+ arguments -> {
+ val value = (StringValue)arguments.get(0);
+ return new IntegerValue(Integer.parseInt(value.getValue()));
+ })
+
.build();
int value;