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:
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.Set<org.forgerock.openig.filter.EntityExtractFilter.MatchRequest>
getMatchRequests()
Returns the regular expression patterns set.
-
-
-
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 in (the message type to extract patterns from)target
- 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
-
getMatchRequests
public Set<org.forgerock.openig.filter.EntityExtractFilter.MatchRequest> getMatchRequests()
Returns the regular expression patterns set.- Returns:
- The regular expression patterns set
-
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.
-
-