Package thredds.server.opendap.servers
Class BTFunctionClause
- java.lang.Object
-
- thredds.server.opendap.servers.AbstractClause
-
- thredds.server.opendap.servers.BTFunctionClause
-
public class BTFunctionClause extends AbstractClause implements SubClause
Represents a clause which invokes a function that returns a BaseType.- See Also:
ClauseFactory
-
-
Field Summary
Fields Modifier and Type Field Description protected BTFunctionfunctionprotected Clauseparentprotected opendap.dap.BaseTypevalue-
Fields inherited from class thredds.server.opendap.servers.AbstractClause
children, constant, defined
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBTFunctionClause(BTFunction function, List children)Creates a new BTFunctionClause.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description opendap.dap.BaseTypeevaluate()Evaluates the clause, first calling evaluate() on any sub-clauses it contains.BTFunctiongetFunction()Returns the server-side function invoked by this clauseClausegetParent()Returns the Clause which contains this subclause.opendap.dap.BaseTypegetValue()Returns a BaseType containing the current value of the sub-clause.voidprintConstraint(PrintWriter os)Prints the original string representation of this clause.voidsetParent(Clause parent)Sets the parent of this subclause.-
Methods inherited from class thredds.server.opendap.servers.AbstractClause
getChildren, isConstant, isDefined
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface thredds.server.opendap.servers.Clause
getChildren, isConstant, isDefined
-
-
-
-
Field Detail
-
parent
protected Clause parent
-
function
protected BTFunction function
-
value
protected opendap.dap.BaseType value
-
-
Constructor Detail
-
BTFunctionClause
protected BTFunctionClause(BTFunction function, List children) throws DAP2ServerSideException
Creates a new BTFunctionClause.- Parameters:
function- The function invoked by the clausechildren- A list of SubClauses, to be given as arguments to the function. If all the arguments are constant, the function clause will be flagged as constant, and evaluated immediately.- Throws:
DAP2ServerSideException- Thrown if either 1) the function does not accept the arguments given, or 2) the clause is constant, and the attempt to evaluate it fails.
-
-
Method Detail
-
getParent
public Clause getParent()
Description copied from interface:SubClauseReturns the Clause which contains this subclause. The clause returned may be a TopLevelClause or another SubClause.
-
getValue
public opendap.dap.BaseType getValue()
Description copied from interface:SubClauseReturns a BaseType containing the current value of the sub-clause. Sub-clauses that are not constant have an undefined value until the evaluate() method has been called. However, in such circumstances this method is still useful, as it indicates which class of BaseType the sub-clause will evaluate to. Implementations of this method should never return null.
-
evaluate
public opendap.dap.BaseType evaluate() throws DAP2ServerSideExceptionDescription copied from interface:SubClauseEvaluates the clause, first calling evaluate() on any sub-clauses it contains. Implementations of this method should flag the clause as "defined" if the evaluation is successful.- Specified by:
evaluatein interfaceSubClause- Throws:
DAP2ServerSideException- Thrown if the evaluation fails for any reason.
-
setParent
public void setParent(Clause parent)
Description copied from interface:SubClauseSets the parent of this subclause. Used during parsing.
-
getFunction
public BTFunction getFunction()
Returns the server-side function invoked by this clause
-
printConstraint
public void printConstraint(PrintWriter os)
Prints the original string representation of this clause. For use in debugging.- Specified by:
printConstraintin interfaceClause
-
-