package com.form.language.ast.values; public class StringValue extends GenericValue { private final String value; private final static String DEFAULT = ""; public StringValue(String value) { this.value = value; } public StringValue() { this.value = DEFAULT; } public String getValue() { return value; } @Override public String toString() { return "\"" + value + "\""; } @Override public boolean equals(Object o) { if(o == this){ return true; } if (!(o instanceof StringValue)){ return false; } StringValue castO = (StringValue) o; if(value == null){ return castO.value == null; } else { return value.equals(castO.value); } } @Override public int hashCode() { int result = 17; for(int i = 0; i<value.length(); i++){ int c = (int)value.charAt(i) ; result = 31 * result + c; } return result; } }