Read this answer on the jboss community regarding adding an annotation to a parameter in a method. Stuck at getting the parameter or in Javassist terms the attribute.
Given class XYZ:
public class XYZ {
public void changes(String whatever, Integer flag) {
}
}
With the following code: ClassPool pool = ClassPool.getDefault(); CtClass clazz = pool.get(XYZ.class.getName());
CtMethod m = clazz.getDeclaredMethod("changes");
CtClass[] parameters = m.getParameterTypes(); // shows 2 parameter (one String, other Integer)
AttributeInfo paramAtrributeInfo = m.getMethodInfo().getAttribute("whatever");
paramAttributeInfo is null. I see 2 attributes when debugging but these have concrete calls LocalVariableAttribute and LineNumberAttribute.
Can't get a handle (attribute) to add my parameter annotation to. Ideas?