Skip to content

Commit

Permalink
Updating typed request handler interfaces
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexa committed Sep 9, 2020
1 parent 001853e commit 107205c
Showing 1 changed file with 59 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
* except in compliance with the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0/
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for
* the specific language governing permissions and limitations under the License.
*/

package com.amazon.ask.dispatcher.request.handler.impl;

import com.amazon.ask.dispatcher.request.handler.HandlerInput;
import com.amazon.ask.dispatcher.request.handler.RequestHandler;
import com.amazon.ask.model.authorization.AuthorizationGrantRequest;
import com.amazon.ask.model.Response;

import java.util.Optional;

/**
* Request handler for AuthorizationGrantRequest requests.
*/
public interface AuthorizationGrantRequestHandler extends RequestHandler {

/**
* Returns true if the handler can dispatch the current request
*
* @param input input to the request handler
* @param authorizationGrantRequest AuthorizationGrantRequest request
* @return true if the handler is capable of handling the current request and/or state
*/
boolean canHandle(HandlerInput input, AuthorizationGrantRequest authorizationGrantRequest);

/**
* Handles the request.
*
* @param input input to the request handler
* @param authorizationGrantRequest AuthorizationGrantRequest request
* @return output from the handler.
*/
Optional<Response> handle(HandlerInput input, AuthorizationGrantRequest authorizationGrantRequest);

@Override
default boolean canHandle(HandlerInput handlerInput) {
if (handlerInput.getRequest() instanceof AuthorizationGrantRequest) {
return canHandle(handlerInput, (AuthorizationGrantRequest)handlerInput.getRequest());
}
return false;
}

@Override
default Optional<Response> handle(HandlerInput handlerInput) {
return handle(handlerInput, (AuthorizationGrantRequest)handlerInput.getRequest());
}

}

0 comments on commit 107205c

Please sign in to comment.