opendap/src/main/java/opendap/servers/ClauseFactory.java
public SubClause newBTFunctionClause(String functionName,
                                         List children)
            throws DAP2ServerSideException,
            NoSuchFunctionException {

        BTFunction function =
                functionLibrary.getBTFunction(functionName);
        if (function == null) {
            if (functionLibrary.getBoolFunction(functionName) != null) {
                throw new NoSuchFunctionException
                        ("The function " + functionName +
                                "() cannot be used as a " +
                                "sub-expression in a constraint clause");
            } else {
                throw new NoSuchFunctionException
                        ("This server does not support a " +
                                functionName + "() function");
            }
        }
        return new BTFunctionClause(function,
                children);
    }
public SubClause newBTFunctionClause(String functionName,
                                         List children)
            throws DAP2ServerSideException,
            NoSuchFunctionException {

        BTFunction function =
                functionLibrary.getBTFunction(functionName);
        if (function == null) {
            if (functionLibrary.getBoolFunction(functionName) != null) {
                throw new NoSuchFunctionException
                        ("The function " + functionName +
                                "() cannot be used as a " +
                                "sub-expression in a constraint clause");
            } else {
                throw new NoSuchFunctionException
                        ("This server does not support a " +
                                functionName + "() function");
            }
        }
        return new BTFunctionClause(function,
                children);
    }
Generates a clause which invokes a function that returns a
BaseType.

@see BTFunctionClause