Thursday, 2 November 2017

How to get the setter and getter methods using Java Reflection | Reflection in java


Click here to watch in Youtube :
https://www.youtube.com/watch?v=a_CGTKmH1As&list=UUhwKlOVR041tngjerWxVccw

Student.java
class Student
{
    private String name;
    private int age;

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public int getAge()
    {
        return age;
    }

    public void setAge(int age)
    {
        this.age = age;
    }

    public void displayMessage(String message)
    {
        System.out.println(message);
    }
}
ReflectionDemo.java
import java.lang.reflect.Method;

/**
 * 
 * Java Reflection - Getters and Setters.
 *
 */
public class ReflectionDemo
{
    public static void main(String[] args)
    {
        Class<Student> classObj = Student.class;
        Method[] methodArray = classObj.getMethods();
        for (Method method : methodArray)
        {
            if (isGetter(method))
                System.out.println("getter: " + method);
            if (isSetter(method))
                System.out.println("setter: " + method);
        }
    }

    /**
     * Getter: A getter method have its name start with "get", take 0
     * parameters, and returns a value.
     */
    public static boolean isGetter(Method method)
    {
        if (!method.getName().startsWith("get"))
        {
            return false;
        }
        if (method.getParameterTypes().length != 0)
        {
            return false;
        }
        if (void.class.equals(method.getReturnType()))
        {
            return false;
        }
        return true;
    }

    /**
     * Setter: A setter method have its name start with "set", and
     * takes 1 parameter.
     */
    public static boolean isSetter(Method method)
    {
        if (!method.getName().startsWith("set"))
        {
            return false;
        }
        if (method.getParameterTypes().length != 1)
        {
            return false;
        }
        return true;
    }

}
Output
getter: public java.lang.String Student.getName()
setter: public void Student.setName(java.lang.String)
getter: public int Student.getAge()
setter: public void Student.setAge(int)
getter: public final native java.lang.Class java.lang.Object.getClass()

Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/ReflectionDemo_getter_setter_find.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/ReflectionDemo_getter_setter_find

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/35f19409ce262cff1a4ed631c9adc6ca413c2cb0/BasicJava/ReflectionDemo_getter_setter_find/?at=master

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • No comments:

    Post a Comment