/* * Copyright 2010-2019 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. */ /** * This package provides features to invoke a Lambda function via dynamic proxy. * One can define a standard Java method in an interface, and then get a proxied * object by calling LambdaInvokerFactory.build. * *
 * 
 * // define a method echo in MyEchoFunction
 * public interface MyEchoFunction {
 *   // specify the Lambda function name and invocation type
 *   {@literal @}LambdaFunction(functionName = "echo", invocationType = "RequestResponse")
 *   String echo(String str);
 * }
 *
 * // creates an invocation factory
 * LambdaInvokerFactory factory = new LambdaInvokerFactory(context,
 *     Regions.US_WEST_2, provider);
 *
 * // create a proxied object of MyEchoFunction
 * MyEchoFunction echoFunction = factory.build(MyEchoFunction.class,
 *     new LambdaJsonBinder());
 *
 * // invoke it just like a regular method
 * String echo = echoFunction.echo("Hello world!");
 * 
 * 
*/ package com.amazonaws.mobileconnectors.lambdainvoker;