Find the access modifier of a member using java reflection
private final static long serialId = 1L;
protected String title;
public String FirstName;
For all fields in the class (assuming class is named theClass)
Field[] fields = theClass.getDeclaredFields();
for (Field field : fields) {
int modifers = field.getModifiers();
if (Modifier.isPrivate(modifers)) {
System.out.println(field.getName() + " is Private");
}
}
The following methods determine could also be used:
boolean isPrivate(Field field){
int modifers = field.getModifiers();
return Modifier.isPrivate(modifers);
}
boolean isProtected(Field field){
int modifers = field.getModifiers();
return Modifier.isPublic(modifers);
}
boolean isPublic(Field field){
int modifers = field.getModifiers();
return Modifier.isProtected(modifers);
}
Example usage (given a class called theClass)
Field titleField = theClass.getField("title");
boolean titleIsProtected = isProtected(titleField);