package net.sourceforge.mayfly.evaluation.what;
import net.sourceforge.mayfly.evaluation.Expression;
import net.sourceforge.mayfly.evaluation.ResultRow;
/**
* @internal
* Something mention in a select clause (*, table.*, or expression).
* It is possible that the expression case should be handled by having
* a subclass which wraps
* an expression, rather than having
* {@link net.sourceforge.mayfly.evaluation.Expression}
* inherit from us. Then the distinction between
* {@link net.sourceforge.mayfly.evaluation.what.Selected}
* and {@link net.sourceforge.mayfly.evaluation.what.What} would carry down
* to here.
*/
abstract public class WhatElement {
abstract public Selected selected(ResultRow dummyRow);
abstract public String displayName();
public Expression lookupAlias(String name) {
return null;
}
public Expression lookupName(String name) {
return null;
}
public String debugName() {
return displayName();
}
}