package com.navercorp.pinpoint.common.util; public class DefaultApiDescription implements ApiDescription { private String className; private String methodName; private String[] simpleParameter; private int line = -1; public void setClassName(String className) { this.className = className; } public String getClassName() { return className; } public String getSimpleClassName() { int classNameStartIndex = className.lastIndexOf('.') + 1; return className.substring(classNameStartIndex, className.length()); } public String getPackageNameName() { int packageNameIndex = className.lastIndexOf('.'); if (packageNameIndex == -1) { return ""; } return className.substring(0, packageNameIndex); } public void setMethodName(String methodName) { this.methodName = methodName; } public String getMethodName() { return this.methodName; } public void setSimpleParameter(String[] simpleParameter) { this.simpleParameter = simpleParameter; } public String[] getSimpleParameter() { return simpleParameter; } public void setLine(int line) { this.line = line; } public String getSimpleMethodDescription() { String simpleParameterDescription = concateLine(simpleParameter, ", "); return methodName + simpleParameterDescription; } public String concateLine(String[] stringList, String separator) { if (ArrayUtils.isEmpty(stringList)) { return "()"; } StringBuilder sb = new StringBuilder(); if (stringList.length > 0) { sb.append('('); sb.append(stringList[0]); for (int i = 1; i < stringList.length; i++) { sb.append(separator); sb.append(stringList[i]); } sb.append(')'); } return sb.toString(); } }