Class SimpleBindings


  • public final class SimpleBindings
    extends Bindings
    Simple class that binds expression variable names to SortFields or other Expressions.

    Example usage:

       SimpleBindings bindings = new SimpleBindings();
       // document's text relevance score
       bindings.add(new SortField("_score", SortField.Type.SCORE));
       // integer NumericDocValues field
       bindings.add(new SortField("popularity", SortField.Type.INT));
       // another expression
       bindings.add("recency", myRecencyExpression);
       
       // create a sort field in reverse order
       Sort sort = new Sort(expr.getSortField(bindings, true));
     
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.util.Map<java.lang.String,​java.lang.Object> map  
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleBindings()
      Creates a new empty Bindings
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(java.lang.String name, Expression expression)
      Adds an Expression to the bindings.
      void add​(java.lang.String name, DoubleValuesSource source)
      Bind a DoubleValuesSource directly to the given name.
      void add​(SortField sortField)
      Adds a SortField to the bindings.
      DoubleValuesSource getDoubleValuesSource​(java.lang.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
    • Field Detail

      • map

        final java.util.Map<java.lang.String,​java.lang.Object> map
    • Constructor Detail

      • SimpleBindings

        public SimpleBindings()
        Creates a new empty Bindings
    • Method Detail

      • add

        public void add​(SortField sortField)
        Adds a SortField to the bindings.

        This can be used to reference a DocValuesField, a field from FieldCache, the document's score, etc.

      • add

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

        This can be used to reference expressions from other expressions.

      • validate

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