org.snapscript.core.LocalConstant Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of snap Show documentation
Show all versions of snap Show documentation
Dynamic scripting for the JVM
package org.snapscript.core;
public class LocalConstant extends Local {
private final Object value;
private final Type type;
private final String name;
public LocalConstant(Object value, String name) {
this(value, name, null);
}
public LocalConstant(Object value, String name, Type type) {
this.value = value;
this.name = name;
this.type = type;
}
@Override
public String getName() {
return name;
}
@Override
public Type getConstraint() {
return type;
}
@Override
public T getValue() {
return (T)value;
}
@Override
public void setValue(Object value){
throw new InternalStateException("Illegal modification of constant");
}
@Override
public String toString() {
return String.valueOf(value);
}
}