package de.gaalop.gapp.variables; /** * Very basic abstract class, that declares a value holder class, e.g. Variable or Constant * @author Christian Steinmetz */ public abstract class GAPPValueHolder { /** * Returns if this class represents a variable * @return * <value>true</value> if this is a variable, * <value>false</value> otherwise (e.g. if this is a constant) */ public abstract boolean isVariable(); /** * Returns a pretty-formed string, which short outlines the contents * @return The pretty-formed string */ public abstract String prettyPrint(); /** * Declares the accept method in the visitor pattern. * All subclass have to call their own visit method in the given visitor * @param visitor The visitor to be used * @param arg An optional argument * @return The return value of the called visit method */ public abstract Object accept(GAPPVariableVisitor visitor, Object arg); }