com.google.appengine.api.search.dev
Class Expression

java.lang.Object
  extended by com.google.appengine.api.search.dev.Expression
Direct Known Subclasses:
ExpressionBuilder.EmptyExpression, ExpressionBuilder.IntValueExpression, FieldExpression, NumericDefaultExpression, SnippetExpression

public abstract class Expression
extends java.lang.Object

Abstract base class for all expression evaluators.


Nested Class Summary
static interface Expression.Sorter
          Sort class for potential multi dimensional sorting of the expression.
 
Constructor Summary
Expression()
           
 
Method Summary
abstract  FieldValue eval(Document doc)
          Evaluate the expression to field value proto for the specified document.
abstract  java.util.List<Expression.Sorter> getSorters(int sign, double defaultValueNumeric, java.lang.String defaultValueText)
          Get list of sort classes for the expression.
static FieldValue makeValue(ContentType type, java.lang.String stringValue)
          Helper function to make field value proto from specified content.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Expression

public Expression()
Method Detail

eval

public abstract FieldValue eval(Document doc)
                         throws EvaluationException
Evaluate the expression to field value proto for the specified document.

Throws:
EvaluationException

makeValue

public static final FieldValue makeValue(ContentType type,
                                         java.lang.String stringValue)
Helper function to make field value proto from specified content.


getSorters

public abstract java.util.List<Expression.Sorter> getSorters(int sign,
                                                             double defaultValueNumeric,
                                                             java.lang.String defaultValueText)
Get list of sort classes for the expression. Usually it contains just one element, but for field expressions it can potentially return 2 sorters when both numeric and text fields exist with a field name.