package nl.uva.se.ql.evaluation.value;
public abstract class Value<T> {
private T value;
public Value(T value) {
this.value = value;
}
public T getValue() {
return value;
}
public boolean isUndefined() {
return false;
}
public Value promote() {
return this;
}
public Value add(Value value) {
throw new IllegalStateException();
}
public Value addInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value addDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value addString(StringValue value) {
throw new IllegalStateException();
}
public Value div(Value value) {
throw new IllegalStateException();
}
public Value divInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value divDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value mod(Value value) {
throw new IllegalStateException();
}
public Value modInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value modDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value mult(Value value) {
throw new IllegalStateException();
}
public Value multInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value multDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value neg() {
throw new IllegalStateException();
}
public Value negInteger() {
throw new IllegalStateException();
}
public Value negDecimal() {
throw new IllegalStateException();
}
public Value pos() {
throw new IllegalStateException();
}
public Value posInteger() {
throw new IllegalStateException();
}
public Value posDecimal() {
throw new IllegalStateException();
}
public Value pow(Value value) {
throw new IllegalStateException();
}
public Value powInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value powDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value sub(Value value) {
throw new IllegalStateException();
}
public Value subInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value subDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value and(Value value) {
throw new IllegalStateException();
}
public Value andBoolean(BooleanValue value) {
throw new IllegalStateException();
}
public Value equal(Value value) {
throw new IllegalStateException();
}
public Value equalBoolean(BooleanValue value) {
throw new IllegalStateException();
}
public Value equalInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value equalDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value equalString(StringValue value) {
throw new IllegalStateException();
}
public Value greaterOrEqual(Value value) {
throw new IllegalStateException();
}
public Value greaterOrEqualInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value greaterOrEqualDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value greaterThan(Value value) {
throw new IllegalStateException();
}
public Value greaterThanInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value greaterThanDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value lessOrEqual(Value value) {
throw new IllegalStateException();
}
public Value lessOrEqualInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value lessOrEqualDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value lessThan(Value value) {
throw new IllegalStateException();
}
public Value lessThanInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value lessThanDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value not() {
throw new IllegalStateException();
}
public Value notBoolean() {
throw new IllegalStateException();
}
public Value notEqual(Value value) {
throw new IllegalStateException();
}
public Value notEqualInteger(IntegerValue value) {
throw new IllegalStateException();
}
public Value notEqualDecimal(DecimalValue value) {
throw new IllegalStateException();
}
public Value notEqualBoolean(BooleanValue value) {
throw new IllegalStateException();
}
public Value notEqualString(StringValue value) {
throw new IllegalStateException();
}
public Value or(Value value) {
throw new IllegalStateException();
}
public Value orBoolean(BooleanValue value) {
throw new IllegalStateException();
}
@Override
public String toString() {
return value.toString();
}
}