import com.thoughtworks.paranamer.AdaptiveParaNamer;
import com.thoughtworks.paranamer.ParaNamer;
import java.lang.reflect.Field;
import java.util.List;
public class ClassNameExtractor {
public static void main(String[] args) throws NoSuchFieldException {
Class<?> clazz = SampleClass.class;
Field[] fields = clazz.getDeclaredFields();
ParaNamer paraNamer = new AdaptiveParaNamer();
for (Field field : fields) {
List<String> fieldNames = paraNamer.lookupParameterNames(field);
System.out.println("Field: " + field.getName());
System.out.println("Field names: " + fieldNames);
}
}
public static class SampleClass {
private String sampleField;
protected int anotherField;
public String getSampleField() {
return sampleField;
}
public void setSampleField(String sampleField) {
this.sampleField = sampleField;
}
}
}