Package org.opends.server.api
Class TypedRequestHandler
- java.lang.Object
-
- org.opends.server.api.TypedRequestHandler
-
- All Implemented Interfaces:
RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
,RequestHandler
public abstract class TypedRequestHandler extends Object implements RequestHandler, RequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
Base class for implementingRequestHandler
s whose behavior depends on the type ofRequest
.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)
.- See Also:
RequestHandler
-
-
Constructor Summary
Constructors Constructor Description TypedRequestHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 anAbandon
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, AddRequest request)
Visits anAdd
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, BindRequest request)
Visits anBind
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, CompareRequest request)
Visits anCompare
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, DeleteRequest request)
Visits anDelete
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, ExtendedRequest<?> request)
Visits anExtended
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, InvalidRequest request)
Visits anInvalid
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, ModifyDnRequest request)
Visits anModifyDN
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, ModifyRequest request)
Visits anModify
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, SearchRequest request)
Visits anSearch
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, UnbindRequest request)
Visits anUnbind
request.Flowable<Response>
visitRequest(org.forgerock.services.context.Context context, UnknownRequest request)
Visits anUnknown
request.
-
-
-
Method Detail
-
handle
public final Flowable<Response> handle(org.forgerock.services.context.Context context, Request request) throws Exception
Description copied from interface:RequestHandler
Returns aFlowable
representing the asynchronousResponse
of the givenrequest
.Successful responses (@see
ResultCode.isExceptional()
must be provided to the subscriber through theSubscriber.onNext(Object)
method. All erroneous responses (e.g: no such object) must be published to the subscriber through theSubscriber.onError(Throwable)
method.- Specified by:
handle
in interfaceRequestHandler
- Parameters:
context
- The request context.request
- The request.- Returns:
- A
Flowable
of zero or severalResponse
to be returned to the caller. - Throws:
Exception
- If an error occurred during the processing of the request.
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, AbandonRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anAbandon
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheAbandon
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, AddRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anAdd
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheAdd
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, BindRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anBind
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheBind
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, CompareRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anCompare
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheCompare
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, DeleteRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anDelete
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheDelete
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, ExtendedRequest<?> request) throws Exception
Description copied from interface:RequestVisitor
Visits anExtended
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheExtended
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, InvalidRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anInvalid
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheInvalid
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, ModifyDnRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anModifyDN
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheModifyDN
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, ModifyRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anModify
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheModify
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, SearchRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anSearch
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheSearch
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, UnbindRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anUnbind
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheUnbind
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
visitRequest
public final Flowable<Response> visitRequest(org.forgerock.services.context.Context context, UnknownRequest request) throws Exception
Description copied from interface:RequestVisitor
Visits anUnknown
request.- Specified by:
visitRequest
in interfaceRequestVisitor<Flowable<Response>,org.forgerock.services.context.Context,Exception>
- Parameters:
context
- A visitor specified parameter.request
- TheUnknown
request.- Returns:
- Returns a visitor specified result.
- Throws:
Exception
-
handleAny
protected Flowable<Response> handleAny(org.forgerock.services.context.Context context, Request request) throws Exception
Implements the common behavior for all the request types.
-
handleAbandon
protected Flowable<Response> handleAbandon(org.forgerock.services.context.Context context, AbandonRequest request) throws Exception
Implements the specific behavior for all AbandonRequest.
-
handleAdd
protected Flowable<Response> handleAdd(org.forgerock.services.context.Context context, AddRequest request) throws Exception
Implements the specific behavior for all AddRequest.
-
handleBind
protected Flowable<Response> handleBind(org.forgerock.services.context.Context context, BindRequest request) throws Exception
Implements the specific behavior for all BindRequest.
-
handleCompare
protected Flowable<Response> handleCompare(org.forgerock.services.context.Context context, CompareRequest request) throws Exception
Implements the specific behavior for all CompareRequest.
-
handleDelete
protected Flowable<Response> handleDelete(org.forgerock.services.context.Context context, DeleteRequest request) throws Exception
Implements the specific behavior for all DeleteRequest.
-
handleExtended
protected Flowable<Response> handleExtended(org.forgerock.services.context.Context context, ExtendedRequest<?> request) throws Exception
Implements the specific behavior for all ExtendedRequest.
-
handleInvalid
protected Flowable<Response> handleInvalid(org.forgerock.services.context.Context context, InvalidRequest request) throws Exception
Implements the specific behavior for all InvalidRequest.
-
handleSearch
protected Flowable<Response> handleSearch(org.forgerock.services.context.Context context, SearchRequest request) throws Exception
Implements the specific behavior for all SearchRequest.
-
handleModify
protected Flowable<Response> handleModify(org.forgerock.services.context.Context context, ModifyRequest request) throws Exception
Implements the specific behavior for all ModifyRequest.
-
handleModifyDn
protected Flowable<Response> handleModifyDn(org.forgerock.services.context.Context context, ModifyDnRequest request) throws Exception
Implements the specific behavior for all ModifyDnRequest.
-
handleUnbind
protected Flowable<Response> handleUnbind(org.forgerock.services.context.Context context, UnbindRequest request) throws Exception
Implements the specific behavior for all UnbindRequest.
-
handleUnknown
protected Flowable<Response> handleUnknown(org.forgerock.services.context.Context context, UnknownRequest request) throws Exception
Implements the specific behavior for all UnknownRequest.
-
-