Package ch.qos.logback.core.spi

# Interface FilterAttachable<E>

All Known Subinterfaces:
  `Appender<E>`

All Known Implementing Classes:
  `AbstractServerSocketAppender`, `AbstractSocketAppender`, `AbstractSSLSocketAppender`, `AccessContext`, `AppenderBase`, `AsyncAppender`, `AsyncAppenderBase`, `ConsoleAppender`, `CyclicBufferAppender`, `FileAppender`, `FilterAttachableImpl`, `ListAppender`, `LogbackValve`, `NOPAppender`, `OutputStreamAppender`, `RequestLogImpl`, `RollingFileAppender`, `ServerSocketAppender`, `ServerSocketAppender`, `SiftingAppender`, `SiftingAppender`, `SiftingAppenderBase`, `SMTPAppender`, `SMTPAppender`, `SMTPAppenderBase`, `SocketAppender`, `SocketAppender`, `SSLServerSocketAppender`, `SSLServerSocketAppender`, `SSLServerSocketAppenderBase`, `SSLSocketAppender`, `SSLSocketAppender`, `SyslogAppender`, `SyslogAppenderBase`, `UnsynchronizedAppenderBase`

public interface FilterAttachable<E>
Interface for attaching filters to objects.

Author:
  Ceki Gülcü

## Method Summary

Modifier and Type
Method
Description
`void`
`addFilter(Filter<E> newFilter)`
Add a filter.
`void`
`clearAllFilters()`
`List<Filter<E>>`
`getCopyOfAttachedFiltersList()`
Get a copy of all the filters contained within this FilterAttachable object.
`FilterReply`
`getFilterChainDecision(E event)`
Loop through the filters in the chain.

## Method Details

### addFilter

void addFilter(Filter<E> newFilter)
Add a filter.

### clearAllFilters

void clearAllFilters()

### getCopyOfAttachedFiltersList

List<Filter<E>> getCopyOfAttachedFiltersList()
Get a copy of all the filters contained within this FilterAttachable object.

Returns:
  all attached filters as a list

### getFilterChainDecision

FilterReply getFilterChainDecision(E event)
Loop through the filters in the chain. As soon as a filter decides on ACCEPT or DENY, then that value is returned. If all of the filters return NEUTRAL, then NEUTRAL is returned.