DefFunction (Lucene 10.5.0 queries API)
Description: declaration: package: org.apache.lucene.queries.function.valuesource, class: DefFunction

Package 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
  Description
  `DefFunction(List<ValueSource> sources)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FunctionValues`
  `getValues(Map<Object,Object> 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 Details

  - ### DefFunction

    public DefFunction(List<ValueSource> sources)

- ## Method Details

  - ### name

    protected String name()
    Specified by:
      `name` in class `MultiFunction`

  - ### getValues

    public FunctionValues getValues(Map<Object,Object> 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`