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

Method Summary
`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`

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