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

    java.lang.Object
      org.apache.lucene.queries.function.ValueSource
          org.apache.lucene.queries.function.valuesource.BoolFunction
              org.apache.lucene.queries.function.valuesource.IfFunction

    public class IfFunction

extends BoolFunction

Depending on the boolean value of the `ifSource` function, returns the value of the `trueSource` or `falseSource` function.

Constructor Summary
`IfFunction(ValueSource ifSource, ValueSource trueSource, ValueSource falseSource)`

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()
`boolean` `equals(Object o)`
`FunctionValues` `getValues(Map context, AtomicReaderContext readerContext)` Gets the values for this reader and the context that was previously passed to createWeight()
`int` `hashCode()`

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

### IfFunction

    public IfFunction(ValueSource ifSource,
                      ValueSource trueSource,
                      ValueSource falseSource)

Method Detail

### getValues

    public FunctionValues getValues(Map context,
                                    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`

### description

    public String description()

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

  Specified by:
    `description` in class `ValueSource`

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in class `ValueSource`

### equals

    public boolean equals(Object o)

  Specified by:
    `equals` in class `ValueSource`

### 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`

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