강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

자바 리플렉션 관련
작성자 : 2 나야나
등록날짜 : 2009.05.26 10:48
2,947

동적 클래스 로딩

   Class<? extends Object> myClass = Class.forName("com.korail.Decoder."+ clsName);
   tlvClass = myClass.newInstance().getClass();

 

생성자가 존재하는 클래스 동적 로딩& 필드 &메소드 사용

    // 생성자 존재시 동적클래스 로딩    
    Class<? extends Object> myClass2 = Class.forName("com.korail.Decoder."+ entryClassName);
    Class paramTypes[] = new Class[1];
    paramTypes[0] = Map.class;
    Constructor ct = myClass2.getConstructor(paramTypes);
    
    Object arglist[] = new Object[1];
    arglist[0] = decoder102Master;
    
    Object tlvEntryObj = ct.newInstance(arglist);
    Field[] fields = tlvEntryObj.getClass().getFields();
    
    Class entryClass = tlvEntryObj.getClass();
    
    // Return Type ==> Bytes 일 경우.
    if(entryClass.getField("token_size_type").getChar(tlvEntryObj) == 'B') {
     entryClass.getField("size").set(tlvEntryObj, entryClass.getField("token_size").get(tlvEntryObj)); //tlvEntryObj.size = tlvEntryObj.token_size;
     entryClass.getField("mask").set(tlvEntryObj, 0); //tlvEntryObj.mask = 0;
     pos_byte += entryClass.getField("size").getInt(tlvEntryObj); //pos_byte += tlvEntryObj.size;
     pos_bit = 0;
    }
    // Return Type ==> Bit 일 경우.
    else
    { 
     entryClass.getField("start_bit").set(tlvEntryObj, pos_bit); //tlvEntryObj.start_bit = pos_bit;
     entryClass.getField("size").set(tlvEntryObj, pos_bit + entryClass.getField("token_size").getInt(tlvEntryObj)); //tlvEntryObj.size = (pos_bit + tlvEntryObj.token_size) / 8;  // 0이 될수도 있음..
     pos_byte += entryClass.getField("size").getInt(tlvEntryObj); //pos_byte += tlvEntryObj.size;
     pos_bit = (pos_bit + entryClass.getField("token_size").getInt(tlvEntryObj)) % 8;//pos_bit = (pos_bit + tlvEntryObj.token_size) % 8;
    }

    Class methodParamTypes[] = new Class[1];
    methodParamTypes[0] = tlvEntryObj.getClass();
    Method[] methods = tlvClass.getDeclaredMethods();
    
    tlvClass.getMethod("add", methodParamTypes); // tlvObj.add(tlvEntryObj);

 

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3255 polygon(다각형)툴을 이용한 다양한 모양 만들기 2 핑크 01.20 2784
3254 sitemesh 를 활용하자 2 huro 01.15 3524
3253 최강의 프레임웍 jquery 2 huro 01.15 2709
3252 컨텐트 드래그 못하게 막힌 곳 가져오기 - msoffice 2 huro 01.15 2602
3251 마우스 오른쪽 클릭방지 해제하기 - firefox 2 huro 01.15 2477
3250 웹 오른쪽 클릭, 마우스 드래그 막기 2 찡가 01.12 2583
3249 윈도우 단축키 2 찡가 01.12 2963
3248 저항(전자회로) 읽는 프로그램 2 춘몽 11.22 3333
3247 메트로놈 입니다.. 2 춘몽 11.22 3322
3246 PDF-Pro 4 free 2 춘몽 11.22 6129
3245 웹 연동으로 어디서나 가능한 일정관리 프로그램 댓글1 2 춘몽 11.22 3681
3244 CPU, 메인보드, 그래픽, 사운드, 랜 최적 또는 최신 드라이버 자동연결 댓글1 2 춘몽 11.22 3618
3243 출력물로 판단하는 토너 카트리지 이상 증상 2 coruscate 09.14 3740
3242 안카메라 - 화면 캡쳐 프로그램 2 coruscate 09.14 3472
3241 모드버스 simulation 프로그램 2 가이버김 09.14 3680
3240 엑셀 파일 합치기 매크로 댓글17 2 coruscate 09.14 11108
3239 윈도즈 파일관리프로그램 댓글1 2 가이버김 09.14 3420
3238 다음-사이트분석 스크립트 2 가이버김 09.14 3130
3237 외부아이피 확인 댓글1 2 가이버김 09.14 4076
3236 개인정보 메모장 댓글2 2 가이버김 09.14 3265
3235 MS outlook 2007 백업 프로그램입니다. 2 coruscate 09.14 3847
3234 블로그,지식인만 있는것은 아니죠.. 2 비타민 07.17 2909
3233 KISA 개인정보 보호 (저작권등) 2 비타민 07.17 2825
3232 vb 마우스휠 2 아론k 06.24 4011
3231 간단한 windows 스케줄 2 아론k 06.24 2996
3230 한글 영문변환 참고 문자표 2 아론k 06.24 4917
3229 html코드표 2 아론k 06.24 3287
3228 간단하게 쓰는 테이블 표 디자인 2 아론k 06.24 2337
3227 자바 스윙 단축키 설정 2 나야나 05.26 3702
열람중 자바 리플렉션 관련 2 나야나 05.26 2948
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취