Class AbstractHTTPSearchBuilder

All Implemented Interfaces:
ExecutableSearchBuilder<HTTPSearch>, Component, DestructableComponent, InitializableComponent
Direct Known Subclasses:
TemplatedBodyBuilder, TemplatedURLBuilder

public abstract class AbstractHTTPSearchBuilder
extends AbstractInitializableComponent
implements ExecutableSearchBuilder<HTTPSearch>
Basis of request builder. Derived classes just have to provide the per request URI but may override the complete request build if desired, for example to construct a SOAP message or something more exotic.

This is all a bit byzantine to maintain a consistent design with the LDAP/etc. connectors, which split the work of producing "search objects that execute and return a result" and "mapping strategies that process a result". The HTTP client supports response handlers that offload all the connection cleanup and avoid any extra data buffering, so our facade passes the mapping strategy in as a response handler and just returns the result.