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 Aug 21, 2023
1 parent cd111c6 commit bfe78cf
Show file tree
Hide file tree
Showing 3 changed files with 177 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.interfaces.alexa.advertisement.AdCompleted;
import com.amazon.ask.model.Response;

import java.util.Optional;

/**
* Request handler for AdCompleted requests.
*/
public interface AdCompletedHandler extends RequestHandler {

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

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

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

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

}
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.interfaces.alexa.advertisement.AdNotRendered;
import com.amazon.ask.model.Response;

import java.util.Optional;

/**
* Request handler for AdNotRendered requests.
*/
public interface AdNotRenderedHandler extends RequestHandler {

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

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

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

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

}
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.interfaces.alexa.advertisement.ReadyToEnqueueAudio;
import com.amazon.ask.model.Response;

import java.util.Optional;

/**
* Request handler for ReadyToEnqueueAudio requests.
*/
public interface ReadyToEnqueueAudioHandler extends RequestHandler {

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

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

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

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

}

0 comments on commit bfe78cf

Please sign in to comment.