public abstract class TypedRequestHandler extends Object implements RequestHandler, RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
RequestHandler
s whose behavior depends on the type of Request
.
It is possible to provides specific behavior for different request types by selectively overriding the handle*()
methods. Common behaviour can be added for the remaining request types by overriding the
handleAny(Context, Request)
.
RequestHandler
Constructor and Description |
---|
TypedRequestHandler() |
Modifier and Type | Method and Description |
---|---|
Flowable<Response> |
handle(org.forgerock.services.context.Context context,
Request request)
|
protected Flowable<Response> |
handleAbandon(org.forgerock.services.context.Context context,
AbandonRequest request)
Implements the specific behavior for all AbandonRequest.
|
protected Flowable<Response> |
handleAdd(org.forgerock.services.context.Context context,
AddRequest request)
Implements the specific behavior for all AddRequest.
|
protected Flowable<Response> |
handleAny(org.forgerock.services.context.Context context,
Request request)
Implements the common behavior for all the request types.
|
protected Flowable<Response> |
handleBind(org.forgerock.services.context.Context context,
BindRequest request)
Implements the specific behavior for all BindRequest.
|
protected Flowable<Response> |
handleCompare(org.forgerock.services.context.Context context,
CompareRequest request)
Implements the specific behavior for all CompareRequest.
|
protected Flowable<Response> |
handleDelete(org.forgerock.services.context.Context context,
DeleteRequest request)
Implements the specific behavior for all DeleteRequest.
|
protected Flowable<Response> |
handleExtended(org.forgerock.services.context.Context context,
ExtendedRequest<?> request)
Implements the specific behavior for all ExtendedRequest.
|
protected Flowable<Response> |
handleInvalid(org.forgerock.services.context.Context context,
InvalidRequest request)
Implements the specific behavior for all InvalidRequest.
|
protected Flowable<Response> |
handleModify(org.forgerock.services.context.Context context,
ModifyRequest request)
Implements the specific behavior for all ModifyRequest.
|
protected Flowable<Response> |
handleModifyDn(org.forgerock.services.context.Context context,
ModifyDnRequest request)
Implements the specific behavior for all ModifyDnRequest.
|
protected Flowable<Response> |
handleSearch(org.forgerock.services.context.Context context,
SearchRequest request)
Implements the specific behavior for all SearchRequest.
|
protected Flowable<Response> |
handleUnbind(org.forgerock.services.context.Context context,
UnbindRequest request)
Implements the specific behavior for all UnbindRequest.
|
protected Flowable<Response> |
handleUnknown(org.forgerock.services.context.Context context,
UnknownRequest request)
Implements the specific behavior for all UnknownRequest.
|
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
AbandonRequest request)
Visits an
Abandon request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
AddRequest request)
Visits an
Add request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
BindRequest request)
Visits an
Bind request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
CompareRequest request)
Visits an
Compare request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
DeleteRequest request)
Visits an
Delete request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
ExtendedRequest<?> request)
Visits an
Extended request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
InvalidRequest request)
Visits an
Invalid request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
ModifyDnRequest request)
Visits an
ModifyDN request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
ModifyRequest request)
Visits an
Modify request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
SearchRequest request)
Visits an
Search request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
UnbindRequest request)
Visits an
Unbind request. |
Flowable<Response> |
visitRequest(org.forgerock.services.context.Context context,
UnknownRequest request)
Visits an
Unknown request. |
public final Flowable<Response> handle(org.forgerock.services.context.Context context, Request request) throws Exception
RequestHandler
Flowable
representing the asynchronous Response
of the given request
.
Successful responses (@see ResultCode.isExceptional()
must be provided to the
subscriber through the Subscriber.onNext(Object)
method. All erroneous responses
(e.g: no such object) must be published to the subscriber through the
Subscriber.onError(Throwable)
method.
handle
in interface RequestHandler
context
- The request context.request
- The request.Flowable
of zero or several Response
to be returned to the caller.Exception
- If an error occurred during the processing of the request.public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, AbandonRequest request) throws Exception
RequestVisitor
Abandon
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Abandon
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, AddRequest request) throws Exception
RequestVisitor
Add
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Add
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, BindRequest request) throws Exception
RequestVisitor
Bind
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Bind
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, CompareRequest request) throws Exception
RequestVisitor
Compare
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Compare
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, DeleteRequest request) throws Exception
RequestVisitor
Delete
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Delete
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, ExtendedRequest<?> request) throws Exception
RequestVisitor
Extended
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Extended
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, InvalidRequest request) throws Exception
RequestVisitor
Invalid
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Invalid
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, ModifyDnRequest request) throws Exception
RequestVisitor
ModifyDN
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The ModifyDN
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, ModifyRequest request) throws Exception
RequestVisitor
Modify
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Modify
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, SearchRequest request) throws Exception
RequestVisitor
Search
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Search
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, UnbindRequest request) throws Exception
RequestVisitor
Unbind
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Unbind
request.Exception
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, UnknownRequest request) throws Exception
RequestVisitor
Unknown
request.visitRequest
in interface RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
context
- A visitor specified parameter.request
- The Unknown
request.Exception
protected Flowable<Response> handleAny(org.forgerock.services.context.Context context, Request request) throws Exception
protected Flowable<Response> handleAbandon(org.forgerock.services.context.Context context, AbandonRequest request) throws Exception
protected Flowable<Response> handleAdd(org.forgerock.services.context.Context context, AddRequest request) throws Exception
protected Flowable<Response> handleBind(org.forgerock.services.context.Context context, BindRequest request) throws Exception
protected Flowable<Response> handleCompare(org.forgerock.services.context.Context context, CompareRequest request) throws Exception
protected Flowable<Response> handleDelete(org.forgerock.services.context.Context context, DeleteRequest request) throws Exception
protected Flowable<Response> handleExtended(org.forgerock.services.context.Context context, ExtendedRequest<?> request) throws Exception
protected Flowable<Response> handleInvalid(org.forgerock.services.context.Context context, InvalidRequest request) throws Exception
protected Flowable<Response> handleSearch(org.forgerock.services.context.Context context, SearchRequest request) throws Exception
protected Flowable<Response> handleModify(org.forgerock.services.context.Context context, ModifyRequest request) throws Exception
protected Flowable<Response> handleModifyDn(org.forgerock.services.context.Context context, ModifyDnRequest request) throws Exception
protected Flowable<Response> handleUnbind(org.forgerock.services.context.Context context, UnbindRequest request) throws Exception
protected Flowable<Response> handleUnknown(org.forgerock.services.context.Context context, UnknownRequest request) throws Exception
Copyright 2010-2018 ForgeRock AS.