package dods.dap.Server; import java.util.List; /** Represents the common interface of the two types of clause used by the * constraint expression (CE) parser: TopLevelClause and SubClause. * See these interfaces for more about CE parsing and evaluation. * * @author joew */ public interface Clause { /** Returns an ordered list of this clause's sub-clauses. If the * clause has no sub-clauses, an empty list will be returned. */ public List getChildren(); /** A clause is considered "constant" iff it and its subclauses do not * refer to data values from the dataset being constrained. A * constant clause is defined as soon as it is created, and is * guaranteed not to change its value during its lifetime. */ public boolean isConstant(); /** Returns whether or not the clause has a defined value. Non-constant * clauses do not have a defined value until they are evaluated for the * first time. Methods for evaluating are found in the TopLevelClause * and SubClause interfaces. */ public boolean isDefined(); }