public class SqlAttributesFilter extends GenericFilter
Mapobject, whose location is specified by the
targetexpression. If the query yields no result, then the resulting map will be empty.
The execution of the query is performed lazily; it does not occur until the first attempt
to access a value in the target. This defers the overhead of connection pool, network
and database query processing until a value is first required. This also means that the
parameters expressions will not be evaluated until the map is first accessed.
|Modifier and Type||Class and Description|
Creates and initializes a static attribute provider in a heap environment.
|Constructor and Description|
|Modifier and Type||Method and Description|
Filters the request and/or response of an exchange.
Returns the list of parameters to evaluate and include in the execution of the prepared statement.
public SqlAttributesFilter(DataSource dataSource, Expression target, String preparedStatement)
DataSource, placing the results in a
Mapin the specified target.
dataSource- JDBC data source
target- Expression that yields the target object that will contain the mapped results
preparedStatement- The parametrized SQL query to execute, with ? parameter placeholders
public List<Expression> getParameters()
public void filter(Exchange exchange, Handler next) throws HandlerException, IOException
exchange.requestcontains 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.responsecontains 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
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.
Copyright © 2014 ForgeRock AS. All rights reserved.