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

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MultiFunction.Values`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected List<ValueSource>` | `sources`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MultiFunction(List<ValueSource> sources)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.