입력된 부분 문자열을 포함하고 있는 클래스들을 찾는 유틸.

ClassLoader는 완전한 클래스 이름 ("패키지경로"."클래스이름") 이 주어져야 그 클래스가 존재하는지를 찾을 수 있는데 클래스의 일부 이름만 가지고 클래스들을 모두 조회한다.

SearchFilter 를 이용해서 실제 원하는 검색 방식을 구현할 수 있음.

자세한 내용은 doc 문서를 확인해 보시면 될 듯... ^^


     System.out.println(" Class 로 시작하는 클래스들 ");

      // 이름이 Class로 시작하는 클래스를 모두 검색..
     ClassDescription [] ds = finder.find("Class", null);
     for( int i = 0, n = ds.length ; i < n ; i++)
         System.out.println(ds[i].getFullQualifiedClassName());
   
     String [] pathes = ((DefaultClassFinder)finder).getClassList().listClassPathes();
 
     System.out.println("클래스 패스 리스트");
     for( int i = 0, n = pathes.length ; i < n ; i++)
         System.out.println(pathes[i]);

결과..........

Class 로 시작하는 클래스들

com.ynseo.classfinder.ClassDescription
com.ynseo.classfinder.ClassFinder
com.ynseo.classfinder.ClassList
com.ynseo.classfinder.ClassListable

클래스 패스 리스트
D:\resources\eclipse\workspace\classfinder.jar
D:\resources\eclipse\workspace\FinderTest


-----------------------------------------------------
2005년 7월에 만든 간단한 유틸... 클래스로더가 클래스 패스를 조회해서 원하는 클래스를 찾는 과정을 공부한 후 만들어본 것인데, 지금 돌아보니 역시 인터페이스가 약간은 조잡하고 간결한 맛이 많이 떨어지는 듯....

이것도 시간나면 좀 손볼 곳이 많아 보인다.

Posted by yeori
,