//Code......
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
public class InvokeSetterGetter {
public static void main(String[] args) {
/* Create object of Actor. */
Actor objActor = new Actor();
InvokeSetterGetter objInvokeSetterGetter =
new InvokeSetterGetter();
/* Call invokeSetter method */
objInvokeSetterGetter.invokeSetter(objActor, "Name", "Benedict Cumberbatch");
/* Call invokeGetter method */
objInvokeSetterGetter.invokeGetter(objActor, "Name");
}
private void invokeSetter(Object obj,
String variableName,
Object variableValue){
/* variableValue is Object because value can
be an Object, Integer, String, etc... */
try {
/**
* Get object of PropertyDescriptor
using variable name and class
* Note: To use PropertyDescriptor on any
field/variable, the field must have both `Setter` and `Getter` method.
*/
PropertyDescriptor objPropertyDescriptor =
new PropertyDescriptor(variableName,
obj.getClass());
/* Set field/variable value
using getWriteMethod() */
objPropertyDescriptor.getWriteMethod().invoke(obj,
variableValue);
}
catch (IllegalAccessException | IllegalArgumentException
| InvocationTargetException | IntrospectionException e) {
/* Java 8: Multiple exception
in one catch. Use Different catch block for lower version. */
e.printStackTrace();
}
}
private void invokeGetter(Object obj, String variableName){
try {
/**
* Get object of PropertyDescriptor
using variable name and class
* Note: To use PropertyDescriptor
on any field/variable,
the field must have both `Setter` and `Getter` method.
*/
PropertyDescriptor objPropertyDescriptor =
new PropertyDescriptor(variableName, obj.getClass());
/**
* Get field/variable value using getReadMethod()
* variableValue is Object
because value can be an Object, Integer, String, etc...
*/
Object variableValue=objPropertyDescriptor.getReadMethod().invoke(obj);
/* Print value of variable */
System.out.println(variableValue);
} catch (IllegalAccessException | IllegalArgumentException
| InvocationTargetException | IntrospectionException e) {
/* Java 8: Multiple exception in
one catch. Use Different catch block for lower version. */
e.printStackTrace();
}
}
}
Saturday, 7 May 2016
How to invoke seter &geter Method of a java bean Using Java Reflection..!!
Subscribe to:
Posts (Atom)