org.apache.lucene.queries.function.valuesource

## Class DefFunction

- java.lang.Object
- - org.apache.lucene.queries.function.ValueSource
  - - org.apache.lucene.queries.function.valuesource.MultiFunction
    - - org.apache.lucene.queries.function.valuesource.DefFunction

-     public class DefFunction
      extends MultiFunction

  `ValueSource` implementation which only returns the values from the provided ValueSources which are available for a particular docId. Consequently, when combined with a `ConstValueSource`, this function serves as a way to return a default value when the values for a field are unavailable.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.queries.function.valuesource.MultiFunction

      `MultiFunction.Values`

  - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.queries.function.valuesource.MultiFunction

      `sources`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefFunction(List<ValueSource> sources)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FunctionValues` | `getValues(Map fcontext, LeafReaderContext readerContext)` Gets the values for this reader and the context that was previously passed to createWeight().
    `protected String` | `name()`

    - ### Methods inherited from class org.apache.lucene.queries.function.valuesource.MultiFunction

      `allExists, allExists, anyExists, anyExists, createWeight, description, description, equals, hashCode, toString, valsArr`

    - ### Methods inherited from class org.apache.lucene.queries.function.ValueSource

      `asDoubleValuesSource, asLongValuesSource, fromDoubleValuesSource, getSortField, newContext, toString`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DefFunction

          public DefFunction(List<ValueSource> sources)

  - ### Method Detail

    - #### name

          protected String name()

      Specified by:
        `name` in class `MultiFunction`

    - #### getValues

          public FunctionValues getValues(Map fcontext,
                                          LeafReaderContext readerContext)
                                   throws IOException

      Description copied from class: `ValueSource`
      Gets the values for this reader and the context that was previously passed to createWeight(). The values must be consumed in a forward docID manner, and you must call this method again to iterate through the values again.
      Specified by:
        `getValues` in class `ValueSource`
      Throws:
        `IOException`

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.