Top Description Methods
org.glassfish.grizzly.filterchain

public Interface Filter

Known Direct Subinterfaces
org.glassfish.grizzly.filterchain.CodecFilter
Known Direct Implementers
org.glassfish.grizzly.filterchain.BaseFilter
Imports
java.io.IOException, org.glassfish.grizzly.Connection, org.glassfish.grizzly.attributes.Attribute

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.
Authors
Jeanfrancois Arcand, Alexey Stashok
See Also
FilterChain, Attribute

Method Summary

Modifier and TypeMethod and Description
public void
exceptionOccurred(FilterChainContext
event processing FilterChainContext
ctx
,
Throwable
error, which occurred during FilterChain execution
error
)

Notification about exception, occurred on the FilterChain

public NextAction

Returns:

NextAction instruction for FilterChain, how it should continue the execution
handleAccept
(FilterChainContext ctx)

Execute a unit of processing work to be performed, when server channel has accepted the client connection.

public NextAction

Returns:

NextAction instruction for FilterChain, how it should continue the execution
handleClose
(FilterChainContext ctx)

Execute a unit of processing work to be performed, when connection has been closed.

public NextAction

Returns:

NextAction instruction for FilterChain, how it should continue the execution
handleConnect
(FilterChainContext ctx)

Execute a unit of processing work to be performed, when channel gets connected.

public NextAction

Returns:

NextAction instruction for FilterChain, how it should continue the execution
handleEvent
(FilterChainContext ctx, FilterChainEvent event)

Handle custom event associated with the Connection.

public NextAction

Returns:

NextAction instruction for FilterChain, how it should continue the execution
handleRead
(FilterChainContext ctx)

Execute a unit of processing work to be performed, when channel will become available for reading.

public NextAction

Returns:

NextAction instruction for FilterChain, how it should continue the execution
handleWrite
(FilterChainContext ctx)

Execute a unit of processing work to be performed, when some data should be written on channel.

public void
onAdded(FilterChain
the FilterChain this Filter was added to.
filterChain
)

Method is called, when the Filter has been added to the passed FilterChain.

public void
onFilterChainChanged(FilterChain filterChain)

Method is called, when the FilterChain this Filter is part of, has been changed.

public void
onRemoved(FilterChain
the FilterChain this Filter was removed from.
filterChain
)

Method is called, when the Filter has been removed from the passed FilterChain.

Method Detail

exceptionOccurredback to summary
public void exceptionOccurred(FilterChainContext ctx, Throwable error)

Notification about exception, occurred on the FilterChain

Parameters
ctx:FilterChainContext

event processing FilterChainContext

error:Throwable

error, which occurred during FilterChain execution

handleAcceptback to summary
public NextAction handleAccept(FilterChainContext ctx) throws IOException

Execute a unit of processing work to be performed, when server channel has accepted the client connection. This Filter may either complete the required processing and return false, or delegate remaining processing to the next Filter in a FilterChain containing this Filter by returning true.

Parameters
ctx:FilterChainContext

FilterChainContext

Returns:NextAction

NextAction instruction for FilterChain, how it should continue the execution

handleCloseback to summary
public NextAction handleClose(FilterChainContext ctx) throws IOException

Execute a unit of processing work to be performed, when connection has been closed. This Filter may either complete the required processing and return false, or delegate remaining processing to the next Filter in a FilterChain containing this Filter by returning true.

Parameters
ctx:FilterChainContext

FilterChainContext

Returns:NextAction

NextAction instruction for FilterChain, how it should continue the execution

handleConnectback to summary
public NextAction handleConnect(FilterChainContext ctx) throws IOException

Execute a unit of processing work to be performed, when channel gets connected. This Filter may either complete the required processing and return false, or delegate remaining processing to the next Filter in a FilterChain containing this Filter by returning true.

Parameters
ctx:FilterChainContext

FilterChainContext

Returns:NextAction

NextAction instruction for FilterChain, how it should continue the execution

handleEventback to summary
public NextAction handleEvent(FilterChainContext ctx, FilterChainEvent event) throws IOException

Handle custom event associated with the Connection. This Filter may either complete the required processing and return StopAction, or delegate remaining processing to the next Filter in a FilterChain containing this Filter by returning InvokeAction.

Parameters
ctx:FilterChainContext

FilterChainContext

Returns:NextAction

NextAction instruction for FilterChain, how it should continue the execution

handleReadback to summary
public NextAction handleRead(FilterChainContext ctx) throws IOException

Execute a unit of processing work to be performed, when channel will become available for reading. This Filter may either complete the required processing and return false, or delegate remaining processing to the next Filter in a FilterChain containing this Filter by returning true.

Parameters
ctx:FilterChainContext

FilterChainContext

Returns:NextAction

NextAction instruction for FilterChain, how it should continue the execution

handleWriteback to summary
public NextAction handleWrite(FilterChainContext ctx) throws IOException

Execute a unit of processing work to be performed, when some data should be written on channel. This Filter may either complete the required processing and return false, or delegate remaining processing to the next Filter in a FilterChain containing this Filter by returning true.

Parameters
ctx:FilterChainContext

FilterChainContext

Returns:NextAction

NextAction instruction for FilterChain, how it should continue the execution

onAddedback to summary
public void onAdded(FilterChain filterChain)

Method is called, when the Filter has been added to the passed FilterChain.

Parameters
filterChain:FilterChain

the FilterChain this Filter was added to.

onFilterChainChangedback to summary
public void onFilterChainChanged(FilterChain filterChain)

Method is called, when the FilterChain this Filter is part of, has been changed.

Parameters
filterChain:FilterChain

the FilterChain.

onRemovedback to summary
public void onRemoved(FilterChain filterChain)

Method is called, when the Filter has been removed from the passed FilterChain.

Parameters
filterChain:FilterChain

the FilterChain this Filter was removed from.