## org.apache.lucene.queries.function.valuesource
Class MultiFunction

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

Direct Known Subclasses:
  DefFunction

    public abstract class MultiFunction

extends ValueSource

Abstract parent class for `ValueSource` implementations that wrap multiple ValueSources and apply their own logic.

Nested Class Summary
`class` `MultiFunction.Values`

Field Summary
`protected List<ValueSource>` `sources`

Constructor Summary
`MultiFunction(List<ValueSource> sources)`

Method Summary
`void` `createWeight(Map context, IndexSearcher searcher)` Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.
`String` `description()` description of field, used in explain()
`static String` `description(String name, List<ValueSource> sources)`
`boolean` `equals(Object o)`
`int` `hashCode()`
`protected abstract String` `name()`
`static String` `toString(String name, FunctionValues[] valsArr, int doc)`
`static FunctionValues[]` `valsArr(List<ValueSource> sources, Map fcontext, AtomicReaderContext readerContext)`

Methods inherited from class org.apache.lucene.queries.function.ValueSource
`getSortField, getValues, newContext, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### sources

    protected final List<ValueSource> sources

Constructor Detail

### MultiFunction

    public MultiFunction(List<ValueSource> sources)

Method Detail

### name

    protected abstract String name()

### description

    public String description()

  Description copied from class: `ValueSource`
  description of field, used in explain()

  Specified by:
    `description` in class `ValueSource`

### description

    public static String description(String name,
                                     List<ValueSource> sources)

### valsArr

    public static FunctionValues[] valsArr(List<ValueSource> sources,
                                           Map fcontext,
                                           AtomicReaderContext readerContext)
                                    throws IOException

  Throws:
    `IOException`

### toString

    public static String toString(String name,
                                  FunctionValues[] valsArr,
                                  int doc)

### createWeight

    public void createWeight(Map context,
                             IndexSearcher searcher)
                      throws IOException

  Description copied from class: `ValueSource`
  Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context. The context object will be passed to getValues() where this info can be retrieved.

  Overrides:
    `createWeight` in class `ValueSource`
  Throws:
    `IOException`

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in class `ValueSource`

### equals

    public boolean equals(Object o)

  Specified by:
    `equals` in class `ValueSource`

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