
com.amazonaws.services.lambda.runtime.api.client.HandlerInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-lambda-java-runtime-interface-client Show documentation
Show all versions of aws-lambda-java-runtime-interface-client Show documentation
The AWS Lambda Java Runtime Interface Client implements the Lambda programming model for Java
The newest version!
/*
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package com.amazonaws.services.lambda.runtime.api.client;
public final class HandlerInfo {
public final Class> clazz;
public final String methodName;
public HandlerInfo(Class> clazz, String methodName) {
this.clazz = clazz;
this.methodName = methodName;
}
public static HandlerInfo fromString(String handler, ClassLoader cl) throws ClassNotFoundException, NoClassDefFoundError, InvalidHandlerException {
final int colonLoc = handler.lastIndexOf("::");
final String className;
final String methodName;
if (colonLoc < 0) {
className = handler;
methodName = null;
} else {
className = handler.substring(0, colonLoc);
methodName = handler.substring(colonLoc + 2);
}
if (className.isEmpty() || (methodName != null && methodName.isEmpty())) {
throw new InvalidHandlerException();
}
return new HandlerInfo(Class.forName(className, true, cl), methodName);
}
public static String className(String handler) {
final int colonLoc = handler.lastIndexOf("::");
return (colonLoc < 0) ? handler : handler.substring(0, colonLoc);
}
public static class InvalidHandlerException extends RuntimeException {
public static final long serialVersionUID = -1;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy