This defines filtering channels that can apply transformations to objects as they are read and/or written. A completely filtered channel can be created using the FilteredChannel factory, or a filtered end can be created for an existing channel.

Only a PoisonFilter is included in this package. User-defined filters can be created by implementing the Filter interface to define the transformation operation to apply on data objects.