27 Star 77 Fork 18

virjar / sipsoup

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
FunctionListTest.java 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
virjar 提交于 2017-06-15 22:53 . 部分文档
package com.virjar.sipsoup;
import java.util.List;
import com.google.common.collect.Lists;
import com.virjar.sipsoup.function.NameAware;
import com.virjar.sipsoup.function.axis.AxisFunction;
import com.virjar.sipsoup.function.filter.FilterFunction;
import com.virjar.sipsoup.function.select.SelectFunction;
import com.virjar.sipsoup.util.ClassScanner;
import com.virjar.sipsoup.util.ObjectFactory;
/**
* Created by virjar on 17/6/15.
*/
public class FunctionListTest {
public static void main(String[] args) {
ClassScanner.SubClassVisitor<NameAware> functionVisitor = new ClassScanner.SubClassVisitor<NameAware>(true,
NameAware.class);
ClassScanner.scan(functionVisitor, Lists.newArrayList("com.virjar.sipsoup.function"));
// 系统所有的类
List<Class<? extends NameAware>> allFunctionClasses = functionVisitor.getSubClass();
for (Class<? extends NameAware> clazz : allFunctionClasses) {
NameAware nameAware = ObjectFactory.newInstance(clazz);
if (nameAware instanceof SelectFunction) {
System.out.println("抽取函数 :" + nameAware.getName());
} else if (nameAware instanceof FilterFunction) {
System.out.println("谓语过滤函数 :" + nameAware.getName());
} else if (nameAware instanceof AxisFunction) {
System.out.println("轴函数 :" + nameAware.getName());
} else {
System.out.println("非法函数 :" + nameAware.getName());
}
}
}
}
Java
1
https://gitee.com/virjar/sipsoup.git
git@gitee.com:virjar/sipsoup.git
virjar
sipsoup
sipsoup
master

搜索帮助