All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alibaba.ttl.threadpool.agent.transformlet.Utils Maven / Gradle / Ivy

package com.alibaba.ttl.threadpool.agent.transformlet;

import javassist.CtClass;
import javassist.CtMethod;
import javassist.NotFoundException;

class Utils {
    /**
     * String like {@code ScheduledFuture scheduleAtFixedRate(Runnable, long, long, TimeUnit)}
     * for {@link  java.util.concurrent.ScheduledThreadPoolExecutor#scheduleAtFixedRate}.
     *
     * @param method method object
     * @return method signature string
     */
    static String signatureOfMethod(final CtMethod method) throws NotFoundException {
        final StringBuilder stringBuilder = new StringBuilder();

        final String returnType = method.getReturnType().getSimpleName();
        final String methodName = method.getName();
        stringBuilder.append(returnType).append(" ")
                .append(methodName).append("(");

        final CtClass[] parameterTypes = method.getParameterTypes();
        for (int i = 0; i < parameterTypes.length; i++) {
            CtClass parameterType = parameterTypes[i];
            if (i != 0) {
                stringBuilder.append(", ");
            }
            stringBuilder.append(parameterType.getSimpleName());
        }

        stringBuilder.append(")");
        return stringBuilder.toString();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy