Package org.forgerock.openig.filter
Class FileAttributesFilter
- java.lang.Object
-
- org.forgerock.openig.filter.FileAttributesFilter
-
- All Implemented Interfaces:
Filter
public class FileAttributesFilter extends Object implements Filter
Retrieves and exposes a record from a delimiter-separated file. Lookup of the record is performed using a specified key, whose value is derived from an expression. The resulting record is exposed in aMap
object, whose location is specified by thetarget
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.- See Also:
SeparatedValuesFile
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FileAttributesFilter.Heaplet
Creates and initializes a separated values file attribute provider in a heap environment.
-
Constructor Summary
Constructors Constructor Description FileAttributesFilter(SeparatedValuesFile file, String key, Expression<String> value, LeftValueExpression<Map> target)
Builds a new FileAttributesFilter extracting values from the given separated values file.
-
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.
-
-
-
Constructor Detail
-
FileAttributesFilter
public FileAttributesFilter(SeparatedValuesFile file, String key, Expression<String> value, LeftValueExpression<Map> target)
Builds a new FileAttributesFilter extracting values from the given separated values file.- Parameters:
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 record
-
-
Method Detail
-
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.
-
-