public class FileAttributesFilter extends GenericFilter
Map
object, whose location is specified by the
target
expression. If a matching record cannot be found, then the resulting map
will be empty.
The retrieval of the record is performed lazily; it does not occur until the first attempt
to access a value in the target. This defers the overhead of file operations and text
processing until a value is first required. This also means that the value
expression will not be evaluated until the map is first accessed.
SeparatedValuesFile
Modifier and Type | Class and Description |
---|---|
static class |
FileAttributesFilter.Heaplet
Creates and initializes a separated values file attribute provider in a heap environment.
|
logger, storage
Constructor and Description |
---|
FileAttributesFilter(SeparatedValuesFile file,
String key,
Expression value,
Expression target)
Builds a new FileAttributesFilter extracting values from the given separated values file.
|
public FileAttributesFilter(SeparatedValuesFile file, String key, Expression value, Expression target)
file
- The file to read separated values from (csv file)key
- The name of the field in the file to perform the lookup onvalue
- Expression that yields the value to be looked-up within the filetarget
- Expression that yields the target object that will contain the recordpublic 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.