## org.apache.lucene.queries.function
Class ValueSource

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

Direct Known Subclasses:
  BoolFunction, ConstNumberSource, DocFreqValueSource, DualFloatFunction, FieldCacheSource, LinearFloatFunction, LiteralValueSource, MaxDocValueSource, MultiFloatFunction, MultiFunction, MultiValueSource, NormValueSource, NumDocsValueSource, OrdFieldSource, QueryValueSource, RangeMapFloatFunction, ReciprocalFloatFunction, ReverseOrdFieldSource, ScaleFloatFunction, SingleFunction, SumTotalTermFreqValueSource, TotalTermFreqValueSource

    public abstract class ValueSource

extends Object

Instantiates `FunctionValues` for a particular reader.
Often used when creating a `FunctionQuery`.

Constructor Summary
`ValueSource()`

Method Summary
`void` `createWeight(Map context, IndexSearcher searcher)` Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.
`abstract String` `description()` description of field, used in explain()
`abstract boolean` `equals(Object o)`
`SortField` `getSortField(boolean reverse)` EXPERIMENTAL: This method is subject to change.
`abstract FunctionValues` `getValues(Map context, AtomicReaderContext readerContext)` Gets the values for this reader and the context that was previously passed to createWeight()
`abstract int` `hashCode()`
`static Map` `newContext(IndexSearcher searcher)` Returns a new non-threadsafe context map.
`String` `toString()`

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

Constructor Detail

### ValueSource

    public ValueSource()

Method Detail

### getValues

    public abstract FunctionValues getValues(Map context,
                                             AtomicReaderContext readerContext)
                                      throws IOException

  Gets the values for this reader and the context that was previously passed to createWeight()

  Throws:
    `IOException`

### equals

    public abstract boolean equals(Object o)

  Overrides:
    `equals` in class `Object`

### hashCode

    public abstract int hashCode()

  Overrides:
    `hashCode` in class `Object`

### description

    public abstract String description()

  description of field, used in explain()

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### createWeight

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

  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.

  Throws:
    `IOException`

### newContext

    public static Map newContext(IndexSearcher searcher)

  Returns a new non-threadsafe context map.

### getSortField

    public SortField getSortField(boolean reverse)

  EXPERIMENTAL: This method is subject to change.

  Get the SortField for this ValueSource. Uses the `getValues(java.util.Map, AtomicReaderContext)` to populate the SortField.

  Parameters:
    `reverse` - true if this is a reverse sort.
  Returns:
    The `SortField` for the ValueSource

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