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`