ch.qos.logback.core.filter

## Class EvaluatorFilter<E>

- java.lang.Object
- - ch.qos.logback.core.spi.ContextAwareBase
  - - ch.qos.logback.core.filter.Filter<E>
    - - ch.qos.logback.core.filter.AbstractMatcherFilter<E>
      - - ch.qos.logback.core.filter.EvaluatorFilter<E>

All Implemented Interfaces:
  ContextAware, LifeCycle

    public class EvaluatorFilter<E>
    extends AbstractMatcherFilter<E>

The value of the `AbstractMatcherFilter.onMatch` and `AbstractMatcherFilter.onMismatch` attributes is set to `FilterReply.NEUTRAL`, so that a badly configured evaluator filter does not disturb the functioning of the filter chain.

It is expected that one of the two attributes will have its value changed to `FilterReply.ACCEPT` or `FilterReply.DENY`. That way, it is possible to decide if a given result must be returned after the evaluation either failed or succeeded.

For more information about filters, please refer to the online manual at http://logback.qos.ch/manual/filters.html

Author:
  Ceki Gülcü, Sébastien Pennec

### Field Summary

### Fields inherited from class ch.qos.logback.core.filter.AbstractMatcherFilter

`onMatch, onMismatch`

### Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase

`context`

### Constructor Summary

Constructors
Constructor and Description
`EvaluatorFilter()`

### Method Summary

Methods
`FilterReply` `decide(E event)` If the decision is ``FilterReply.DENY``, then the event will be dropped.
`EventEvaluator<E>` `getEvaluator()`
`void` `setEvaluator(EventEvaluator<E> evaluator)`
`void` `start()`

### Methods inherited from class ch.qos.logback.core.filter.AbstractMatcherFilter

`getOnMatch, getOnMismatch, setOnMatch, setOnMismatch`

### Methods inherited from class ch.qos.logback.core.filter.Filter

`getName, isStarted, setName, stop`

### Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase

`addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext`

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

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

### Constructor Detail

#### EvaluatorFilter

    public EvaluatorFilter()

### Method Detail

#### start

    public void start()

Specified by:
  `start` in interface `LifeCycle`
Overrides:
  `start` in class `Filter<E>`

#### getEvaluator

    public EventEvaluator<E> getEvaluator()

#### setEvaluator

    public void setEvaluator(EventEvaluator<E> evaluator)

#### decide

    public FilterReply decide(E event)

Description copied from class: `Filter`
If the decision is ``FilterReply.DENY``, then the event will be dropped. If the decision is ``FilterReply.NEUTRAL``, then the next filter, if any, will be invoked. If the decision is ``FilterReply.ACCEPT`` then the event will be logged without consulting with other filters in the chain.

Specified by:
  `decide` in class `Filter<E>`
Parameters:
  `event` - The event to decide upon.