com.gentics.api.lib.expressionparser
Interface EvaluableExpression

All Superinterfaces:
Expression, Serializable

public interface EvaluableExpression
extends Expression

Interface for expression that can be evaluated.


Method Summary
 boolean allowsNullValues(DatasourceFilter filter)
          Checks wheter this expression allows null values.
 Object evaluate(ExpressionQueryRequest request, int expectedValueType)
          Evaluate the expression and return the value.
 void generateFilterPart(ExpressionQueryRequest request, FilterPart filterPart, int expectedValueType)
          Generate the filter part for the evaluable expression.
 int getExpectedValueType(DatasourceFilter filter)
          Get the value type which this expression is expected to return
 boolean isStatic(DatasourceFilter filter)
          Check whether the evaluable expression (and all its sub parts) is static or not.
 boolean isVariable(DatasourceFilter filter)
          Check whether the evaluable expression (with its sub parts) contains a variable part.
 
Methods inherited from interface com.gentics.api.lib.expressionparser.Expression
getExpressionString
 

Method Detail

generateFilterPart

void generateFilterPart(ExpressionQueryRequest request,
                        FilterPart filterPart,
                        int expectedValueType)
                        throws ExpressionParserException
Generate the filter part for the evaluable expression. The expectedValueType must be one of (ExpressionEvaluator.OBJECTTYPE_ANY, ExpressionEvaluator.OBJECTTYPE_BOOLEAN, ExpressionEvaluator.OBJECTTYPE_COLLECTION, ExpressionEvaluator.OBJECTTYPE_DATE, ExpressionEvaluator.OBJECTTYPE_NULL, ExpressionEvaluator.OBJECTTYPE_NUMBER, ExpressionEvaluator.OBJECTTYPE_STRING), where ExpressionEvaluator.OBJECTTYPE_ANY shall be used when any value type is acceptable.

Parameters:
request - expression request
filterPart - part of the filter that is generated
expectedValueType - expected value type
Throws:
ExpressionParserException - when the generation of the filter part fails

evaluate

Object evaluate(ExpressionQueryRequest request,
                int expectedValueType)
                throws ExpressionParserException
Evaluate the expression and return the value. The expectedValueType must be on of (ExpressionEvaluator.OBJECTTYPE_ANY, ExpressionEvaluator.OBJECTTYPE_BOOLEAN, ExpressionEvaluator.OBJECTTYPE_COLLECTION, ExpressionEvaluator.OBJECTTYPE_DATE, ExpressionEvaluator.OBJECTTYPE_NULL, ExpressionEvaluator.OBJECTTYPE_NUMBER, ExpressionEvaluator.OBJECTTYPE_STRING), where ExpressionEvaluator.OBJECTTYPE_ANY shall be used when any value type is acceptable. When a datasource is given, the evaluation occurs while generating a filter part.

Parameters:
request - expression request
expectedValueType - expected value type
Returns:
the value of the expression
Throws:
ExpressionParserException - when the evaluation fails

isStatic

boolean isStatic(DatasourceFilter filter)
                 throws ExpressionParserException
Check whether the evaluable expression (and all its sub parts) is static or not. Static expression use only literals, no names (neither with "object." nor with other prefixes)

Parameters:
filter - datasource filter
Returns:
true when the expression is static, false if not
Throws:
ExpressionParserException

isVariable

boolean isVariable(DatasourceFilter filter)
                   throws ExpressionParserException
Check whether the evaluable expression (with its sub parts) contains a variable part. variable parts are names that start with "object."

Parameters:
filter - datasource filter
Returns:
true when the expression contains a variable part, false if not
Throws:
ExpressionParserException

allowsNullValues

boolean allowsNullValues(DatasourceFilter filter)
                         throws ExpressionParserException
Checks wheter this expression allows null values.

Parameters:
filter - datasource filter
Returns:
true if expression might contain null values.
Throws:
ExpressionParserException

getExpectedValueType

int getExpectedValueType(DatasourceFilter filter)
                         throws ExpressionParserException
Get the value type which this expression is expected to return

Parameters:
filter - datasource filter
Returns:
expected value type (ExpressionEvaluator.OBJECTTYPE_ANY if no specific value type can be expected)
Throws:
ExpressionParserException


Copyright © 2013 Gentics Software GmbH. All Rights Reserved.