Package org.forgerock.openig.filter
Class EntityExtractFilter
- java.lang.Object
-
- org.forgerock.openig.filter.EntityExtractFilter
-
- All Implemented Interfaces:
Filter
public class EntityExtractFilter extends Object implements Filter
Extracts regular expression patterns from a message entity. Extraction occurs either before the request is handled ifmessageType
isMessageType.REQUEST
, or after the request is handled if it isMessageType.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 thetarget
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.- See Also:
StreamPatternExtractor
,PatternTemplate
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EntityExtractFilter.Heaplet
Creates and initializes an entity extract handler in a heap environment.
-
Constructor Summary
Constructors Constructor Description EntityExtractFilter(MessageType type, LeftValueExpression<?> target)
Builds an EntityExtractFilter that will act either onMessageType.REQUEST
orMessageType.RESPONSE
flow, extracting patterns into the giventarget
Expression
.EntityExtractFilter(MessageType type, LeftValueExpression<?> target, Charset charset)
Builds an EntityExtractFilter that will act either onMessageType.REQUEST
orMessageType.RESPONSE
flow, extracting patterns into the giventarget
Expression
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Promise<Response,NeverThrowsException>
filter(Context context, Request request, Handler next)
Filters the request and/or response of an exchange.StreamPatternExtractor
getExtractor()
Returns the regular expression patterns extractor.
-
-
-
Constructor Detail
-
EntityExtractFilter
public EntityExtractFilter(MessageType type, LeftValueExpression<?> target)
Builds an EntityExtractFilter that will act either onMessageType.REQUEST
orMessageType.RESPONSE
flow, extracting patterns into the giventarget
Expression
. TheCharset
used is the one of the message.- Parameters:
type
- Specifies the execution flow to be executed intarget
- Expression that yields the target object that will contain the mapped extraction results
-
EntityExtractFilter
public EntityExtractFilter(MessageType type, LeftValueExpression<?> target, Charset charset)
Builds an EntityExtractFilter that will act either onMessageType.REQUEST
orMessageType.RESPONSE
flow, extracting patterns into the giventarget
Expression
. TheCharset
used is the one specified.- Parameters:
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. Ifnull
, the message encoding is used
-
-
Method Detail
-
getExtractor
public StreamPatternExtractor getExtractor()
Returns the regular expression patterns extractor.- Returns:
- the regular expression patterns extractor.
-
filter
public Promise<Response,NeverThrowsException> filter(Context context, Request request, Handler next)
Description copied from interface:Filter
Filters the request and/or response of an exchange. To pass the request to the next filter or handler in the chain, the filter callsnext.handle(context, request)
.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(context, request)
and creating its own response object. The filter is also at liberty to replace a response with another of its own by intercepting the response returned by the next handler.
-
-