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

Methods
`FunctionValues` `getValues(Map fcontext, AtomicReaderContext 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

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

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

`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,
                           AtomicReaderContext readerContext)
                             throws IOException

Description copied from class: `ValueSource`
Gets the values for this reader and the context that was previously passed to createWeight()

Specified by:
  `getValues` in class `ValueSource`
Throws:
  `IOException`