package de.unisiegen.tpml.core.expressions ; /** * Abstract base class for expression classes, whose instances are always * values, for example {@link Lambda} expressions. * * @author Benedikt Meurer * @author Christian Fehler * @version $Rev:1053 $ * @see Expression */ public abstract class Value extends Expression { /** * {@inheritDoc} * * @see Expression#clone() */ @ Override public abstract Value clone ( ) ; /** * {@inheritDoc} */ @ Override public abstract String getCaption ( ) ; /** * Returns the prefix of this {@link Expression}. * * @return The prefix of this {@link Expression}. * @see #prefix */ @ Override public String getPrefix ( ) { if ( this.prefix == null ) { this.prefix = PREFIX_VALUE ; } return this.prefix ; } /** * {@inheritDoc} The implementation in the <code>Value</code> always returns * <code>true</code> and cannot be overwritten by derived classes. * * @see Expression#isValue() */ @ Override public final boolean isValue ( ) { return true ; } }