1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
package org.zwobble.couscous.values; import org.zwobble.couscous.types.ScalarType; public interface PrimitiveValue { <T> T accept(Visitor<T> visitor); ScalarType getType(); interface Visitor<T> { T visitInteger(int value); T visitString(String value); T visitBoolean(boolean value); T visitUnit(); T visitType(ScalarType value); } }