Package org.apache.lucene.expressions

# Class SimpleBindings

java.lang.Object
org.apache.lucene.expressions.Bindings
org.apache.lucene.expressions.SimpleBindings

public final class SimpleBindings extends Bindings
Simple class that binds expression variable names to `DoubleValuesSource`s or other `Expression`s.

Example usage:

       SimpleBindings bindings = new SimpleBindings();
       // document's text relevance score
       bindings.add("_score", DoubleValuesSource.SCORES);
       // integer NumericDocValues field
       bindings.add("popularity", DoubleValuesSource.fromIntField("popularity"));
       // another expression
       bindings.add("recency", myRecencyExpression);

       // create a sort field in reverse order
       Sort sort = new Sort(expr.getSortField(bindings, true));

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SimpleBindings()`
  Creates a new empty Bindings

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(String name, Expression expression)`
  Adds an Expression to the bindings.
  `void`
  `add(String name, DoubleValuesSource source)`
  Bind a `DoubleValuesSource` directly to the given name.
  `DoubleValuesSource`
  `getDoubleValuesSource(String name)`
  Returns a DoubleValuesSource bound to the variable name
  `void`
  `validate()`
  Traverses the graph of bindings, checking there are no cycles or missing references

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### SimpleBindings

    public SimpleBindings()
    Creates a new empty Bindings

- ## Method Details

  - ### add

    public void add(String name, DoubleValuesSource source)
    Bind a `DoubleValuesSource` directly to the given name.

  - ### add

    public void add(String name, Expression expression)
    Adds an Expression to the bindings.

    This can be used to reference expressions from other expressions.

  - ### getDoubleValuesSource

    public DoubleValuesSource getDoubleValuesSource(String name)
    Description copied from class: `Bindings`
    Returns a DoubleValuesSource bound to the variable name
    Specified by:
      `getDoubleValuesSource` in class `Bindings`

  - ### validate

    public void validate()
    Traverses the graph of bindings, checking there are no cycles or missing references
    Throws:
      `IllegalArgumentException` - if the bindings is inconsistent