프로그래밍/Java
[java] invoke
galad
2010. 3. 9. 11:01
String metaField = ProductConstant.FIELD_NAME_FOR_HD_DRM;
Class[] cParam = new Class[]{String.class}; // 메소드 얻을 때 사용할 파라미터 타입. 메소드명, 파라미터갯수 및 종류로 해당 메소드를 찾는다
Object[] oParam = new Object[]{hdProductDrmYn}; // 실제 invoke 시 사용할 파라미터값
Class cls = pi.getClass(); // 메소드를 invoke할 클래스
// 메소드 얻기 getMethod(메소드명, 파라미터타입) : get 메소드면 파라미터 필요없음
Method cMtd = cls.getMethod("set" + metaField.substring(0, 1).toUpperCase() + metaField.substring(1), cParam);
// invoke(invoke할 객체, 파라미터)
cMtd.invoke(pi, oParam);
Object[] oParam = new Object[]{hdProductDrmYn}; // 실제 invoke 시 사용할 파라미터값
Class cls = pi.getClass(); // 메소드를 invoke할 클래스
// 메소드 얻기 getMethod(메소드명, 파라미터타입) : get 메소드면 파라미터 필요없음
Method cMtd = cls.getMethod("set" + metaField.substring(0, 1).toUpperCase() + metaField.substring(1), cParam);
// invoke(invoke할 객체, 파라미터)
cMtd.invoke(pi, oParam);