测试

逝去的月光,黎明的红日
posts - 2, comments - 2, trackbacks - 0, articles - 5

怎样过滤IType中的IMethod

Posted on 2007-07-17 23:51 测试 阅读(611) 评论(0)  编辑  收藏 所属分类: Java,Eclipse


eclipse中的IType,它分别有两个实现的基类,分别是BinaryType和SourceType,顾名思义,分别是处理二进制的类、源代码形式的类。IType可以理解成为一个类对象,它封装了对类的一些处理。
今天的重点不是说IType,而是说过滤IMethod,下面是一段对过滤IMethod的代码片断,明白人应该一看就明白了,呵呵,看起来比较的弱智,不过,没有东西写的时候就写点这样的,就当是加强记忆吧。
它是通过Flags进行判断的,取得public的Method代码如下,其余的以此类推。

 1    public static List<IMethod> getPublicMethods(IType claz) throws JavaModelException{
 2        List<IMethod> list = new ArrayList<IMethod>();
 3        IMethod[] methods = claz.getMethods();
 4        for(IMethod temp : methods){
 5            if(Flags.isPublic(temp.getFlags())){
 6                list.add(temp);
 7            }

 8        }

 9        return list;
10    }

java中的Class也可以得到Method,也可以过滤得到我们自己想要的Method,取得public的Method代码如下,其余的以此类推。

 1    public static List<Method> getPublicMethods(Class claz){
 2        List<Method> list = new ArrayList<Method>();
 3        Method[] methods = claz.getMethods();
 4        for(Method temp : methods){
 5            if(Modifier.isPublic(temp.getModifiers())){
 6                list.add(temp);
 7            }

 8        }

 9        return list;
10    }

其实两段代码非常相似,好了,今天也就写到这里,睡觉去了。

只有注册用户登录后才能发表评论。


网站导航: