import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import java.util.ArrayList;

import java.util.HashMap;


Reflection.java



public class Reflection {


public static void main(String[] args) {

String str = "myString";

HashMap<String, String> map = new HashMap<String, String>();

BizDto biz = new BizDto(); 

biz.setUserNm("홍길동");

biz.setUserpw("1234");

ArrayList<Object> arr = new ArrayList<Object>();

arr.add(map);

arr.add(biz);

arr.add(str);

for(Object o : arr ) {

if (o instanceof String ) {

System.out.println("String " + o.toString());

} else if (o instanceof Integer) {

System.out.println("String " + o.toString());

} else if (o instanceof HashMap) {

System.out.println("hash map");

} else {

Class<? extends Object> clazz = o.getClass();

String ClassName = clazz.getName();

Method[] methods = clazz.getMethods();

for(Method m : methods) {

String methodName = m.getName();

if(m.getName().indexOf("get") != -1 ) {

if(methodName.startsWith("get") 

&& methodName.toLowerCase().indexOf("dto") == -1 

&& methodName.toLowerCase().indexOf("entity") == -1 

&& !methodName.equalsIgnoreCase("getClass") ) {

           try {

            Object value =m.invoke(o);

            System.out.println("class : " + ClassName + ", methodName : " + methodName + ", value : " + value.toString());

           }

           catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {

               e.printStackTrace();

           }

}

}

}

} // end if

}


}


}


class BizDto implements java.io.Serializable {

private static final long serialVersionUID = 4347186401362125996L;

private String usernm = "";

private String userpw = "";

public void setUserNm(String _usernm) {

this.usernm = _usernm;

}

public String getUsernm() {

return this.usernm;

}

public void setUserpw(String _userpw) {

this.userpw = _userpw;

}

public String getUserpw() {

return this.userpw;

}


}

+ Recent posts