public class EntityExtractFilter extends GenericFilter
messageType
is MessageType.REQUEST
, or
after the exchange is handled if it is MessageType.RESPONSE
. Each pattern can have
an associated template, which is applied to its match result.
The extraction results are contained in a Map
object, whose location is specified
by the target
expression. For a given matched pattern, the value stored in the map
is either the result of applying its associated pattern template (if specified) or the
match result itself otherwise.
StreamPatternExtractor
,
PatternTemplate
Modifier and Type | Class and Description |
---|---|
static class |
EntityExtractFilter.Heaplet
Creates and initializes an entity extract handler in a heap environment.
|
logger, storage
Constructor and Description |
---|
EntityExtractFilter(MessageType type,
Expression target)
Builds an EntityExtractFilter that will act either on
MessageType.REQUEST or MessageType.RESPONSE
flow, extracting patterns into the given target Expression . |
EntityExtractFilter(MessageType type,
Expression target,
Charset charset)
Builds an EntityExtractFilter that will act either on
MessageType.REQUEST or MessageType.RESPONSE
flow, extracting patterns into the given target Expression . |
Modifier and Type | Method and Description |
---|---|
void |
filter(Exchange exchange,
Handler next)
Filters the request and/or response of an exchange.
|
StreamPatternExtractor |
getExtractor()
Returns the regular expression patterns extractor.
|
public EntityExtractFilter(MessageType type, Expression target)
MessageType.REQUEST
or MessageType.RESPONSE
flow, extracting patterns into the given target
Expression
. The Charset
used is the one
of the message.type
- Specifies the execution flow to be executed intarget
- Expression that yields the target object that will contain the mapped extraction resultspublic EntityExtractFilter(MessageType type, Expression target, Charset charset)
MessageType.REQUEST
or MessageType.RESPONSE
flow, extracting patterns into the given target
Expression
. The Charset
used is the one
specified.type
- Specifies the execution flow to be executed intarget
- Expression that yields the target object that will contain the mapped extraction resultscharset
- Overrides the character set encoding specified in message. If null
, the message encoding is usedpublic StreamPatternExtractor getExtractor()
public void filter(Exchange exchange, Handler next) throws HandlerException, IOException
Filter
exchange.request
contains the request to be filtered. To pass the request to the next filter or handler
in the chain, the filter calls next.handle(exchange)
. After this call,
exchange.response
contains the response that can be filtered.
This method may elect not to pass the request to the next filter or handler, and instead
handle the request itself. It can achieve this by merely avoiding a call to
next.handle(exchange)
and creating its own response object the exchange. The
filter is also at liberty to replace a response with another of its own after the call
to next.handle(exchange)
.
Important note: If an existing response exists in the exchange object
and the filter intends to replace it with its own, it must first check to see if the
existing response has an entity, and if it does, must call its close
method in
order to signal that the processing of the response from a remote server is complete.
exchange
- the exchange containing the request and response to filter.next
- the next filter or handler in the chain to handle the exchange.HandlerException
- if an exception occurred handling the exchange.IOException
- if an I/O exception occurred.Copyright © 2014 ForgeRock AS. All rights reserved.