org.apache.solr.client.solrj.io.eval

## Class RecursiveTemporalEvaluator

- java.lang.Object
- - org.apache.solr.client.solrj.io.eval.RecursiveEvaluator
  - - org.apache.solr.client.solrj.io.eval.RecursiveTemporalEvaluator

All Implemented Interfaces:
  Serializable, OneValueWorker, StreamEvaluator, ValueWorker, Expressible

Direct Known Subclasses:
  TemporalEvaluatorDay, TemporalEvaluatorDayOfQuarter, TemporalEvaluatorDayOfYear, TemporalEvaluatorEpoch, TemporalEvaluatorHour, TemporalEvaluatorMinute, TemporalEvaluatorMonth, TemporalEvaluatorQuarter, TemporalEvaluatorSecond, TemporalEvaluatorWeek, TemporalEvaluatorYear

    public abstract class RecursiveTemporalEvaluator
    extends RecursiveEvaluator
    implements OneValueWorker

See Also:
  Serialized Form

### Field Summary

Fields
`protected static long` `serialVersionUID`

### Fields inherited from class org.apache.solr.client.solrj.io.eval.RecursiveEvaluator

`constructingFactory, containedEvaluators, nodeId, streamContext`

### Constructor Summary

Constructors
Constructor and Description
`RecursiveTemporalEvaluator(StreamExpression expression, StreamFactory factory, String functionName)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`Object` `doWork(Object value)`
`protected abstract Object` `getDatePart(TemporalAccessor value)`
`String` `getFunction()`
`Object` `normalizeInputType(Object value)`

### Methods inherited from class org.apache.solr.client.solrj.io.eval.RecursiveEvaluator

`evaluate, getStreamContext, normalizeOutputType, recursivelyEvaluate, setStreamContext, toExplanation, toExpression`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.solr.client.solrj.io.eval.OneValueWorker

`doWork`

### Methods inherited from interface org.apache.solr.client.solrj.io.eval.StreamEvaluator

`evaluateOverContext`

### Field Detail

#### serialVersionUID

    protected static final long serialVersionUID

See Also:
  Constant Field Values

### Constructor Detail

#### RecursiveTemporalEvaluator

    public RecursiveTemporalEvaluator(StreamExpression expression,
                                      StreamFactory factory,
                                      String functionName)
                               throws IOException

Throws:
  `IOException`

### Method Detail

#### getFunction

    public String getFunction()

#### getDatePart

    protected abstract Object getDatePart(TemporalAccessor value)

#### normalizeInputType

    public Object normalizeInputType(Object value)
                              throws StreamEvaluatorException

Overrides:
  `normalizeInputType` in class `RecursiveEvaluator`
Throws:
  `StreamEvaluatorException`

#### doWork

    public Object doWork(Object value)

Specified by:
  `doWork` in interface `OneValueWorker`