Interface Filter

All Known Subinterfaces:
CodecFilter<K,L>
All Known Implementing Classes:
AbstractCodecFilter, ActivityCheckFilter, BaseFilter, ChunkingFilter, DelayFilter, EchoFilter, GZipFilter, IdleTimeoutFilter, LogFilter, LZMAFilter, SilentConnectionFilter, SSLBaseFilter, SSLBaseFilter.SSLTransportFilterWrapper, SSLFilter, StringFilter, TCPNIOTransportFilter, TransportFilter, UDPNIOTransportFilter

public interface Filter
A Filter encapsulates a unit of processing work to be performed, whose purpose is to examine and/or modify the state of a transaction that is represented by a FilterChainContext. Individual Filter can be assembled into a FilterChain, which allows them to either complete the required processing or delegate further processing to the next Filter in the FilterChain. Filter implementations should be designed in a thread-safe manner, suitable for inclusion in multiple FilterChain that might be processed by different threads simultaneously. In general, this implies that Filter classes should not maintain state information in instance variables. Instead, state information should be maintained via suitable modifications to the attributes of the FilterChainContext that is passed to the appropriate Filter processing methods. Filter implementations typically retrieve and store state information in the FilterChainContext instance that is passed as a parameter to the appropriate Filter processing methods, using particular Attributes that can be acquired via Attribute.get(org.glassfish.grizzly.attributes.AttributeStorage) method.
Author:
Jeanfrancois Arcand, Alexey Stashok
See Also: