org.apache.lucene.search

## Class LongValuesSource

- java.lang.Object
- - org.apache.lucene.search.LongValuesSource

All Implemented Interfaces:
  SegmentCacheable

    public abstract class LongValuesSource
    extends Object
    implements SegmentCacheable

Base class for producing `LongValues` To obtain a `LongValues` object for a leaf reader, clients should call `rewrite(IndexSearcher)` against the top-level searcher, and then `getValues(LeafReaderContext, DoubleValues)`. LongValuesSource objects for long and int-valued NumericDocValues fields can be obtained by calling `fromLongField(String)` and `fromIntField(String)`. To obtain a LongValuesSource from a float or double-valued NumericDocValues field, use `DoubleValuesSource.fromFloatField(String)` or `DoubleValuesSource.fromDoubleField(String)` and then call `DoubleValuesSource.toLongValuesSource()`.

### Constructor Summary

Constructors
Constructor and Description
`LongValuesSource()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`static LongValuesSource` `constant(long value)` Creates a LongValuesSource that always returns a constant value
`abstract boolean` `equals(Object obj)`
`static LongValuesSource` `fromIntField(String field)` Creates a LongValuesSource that wraps an int-valued field
`static LongValuesSource` `fromLongField(String field)` Creates a LongValuesSource that wraps a long-valued field
`SortField` `getSortField(boolean reverse)` Create a sort field based on the value of this producer
`abstract LongValues` `getValues(LeafReaderContext ctx, DoubleValues scores)` Returns a `LongValues` instance for the passed-in LeafReaderContext and scores If scores are not needed to calculate the values (ie `returns false`, callers may safely pass `null` for the `scores` parameter.
`abstract int` `hashCode()`
`abstract boolean` `needsScores()` Return true if document scores are needed to calculate values
`abstract LongValuesSource` `rewrite(IndexSearcher searcher)` Return a LongValuesSource specialised for the given IndexSearcher Implementations should assume that this will only be called once.
`DoubleValuesSource` `toDoubleValuesSource()` Convert to a DoubleValuesSource by casting long values to doubles
`abstract String` `toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.apache.lucene.search.SegmentCacheable

`isCacheable`

### Constructor Detail

#### LongValuesSource

    public LongValuesSource()

### Method Detail

#### getValues

    public abstract LongValues getValues(LeafReaderContext ctx,
                                         DoubleValues scores)
                                  throws IOException

Returns a `LongValues` instance for the passed-in LeafReaderContext and scores If scores are not needed to calculate the values (ie `returns false`, callers may safely pass `null` for the `scores` parameter.

Throws:
  `IOException`

#### needsScores

    public abstract boolean needsScores()

Return true if document scores are needed to calculate values

#### hashCode

    public abstract int hashCode()

Overrides:
  `hashCode` in class `Object`

#### equals

    public abstract boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### toString

    public abstract String toString()

Overrides:
  `toString` in class `Object`

#### rewrite

    public abstract LongValuesSource rewrite(IndexSearcher searcher)
                                      throws IOException

Return a LongValuesSource specialised for the given IndexSearcher Implementations should assume that this will only be called once. IndexSearcher-independent implementations can just return `this`

Throws:
  `IOException`

#### getSortField

    public SortField getSortField(boolean reverse)

Create a sort field based on the value of this producer

Parameters:
  `reverse` - true if the sort should be decreasing

#### toDoubleValuesSource

    public DoubleValuesSource toDoubleValuesSource()

Convert to a DoubleValuesSource by casting long values to doubles

#### fromLongField

    public static LongValuesSource fromLongField(String field)

Creates a LongValuesSource that wraps a long-valued field

#### fromIntField

    public static LongValuesSource fromIntField(String field)

Creates a LongValuesSource that wraps an int-valued field

#### constant

    public static LongValuesSource constant(long value)

Creates a LongValuesSource that always returns a constant value