public ClassFilter createClassesFilter() { return new ClassFilter(this.getTargetTestsFilter(), this.getTargetClassesFilter()); }
private ProjectClassPaths createProjectClassPaths() { final ClassPath classPath = new ClassPath(this.compiledCodeDirectories); final Predicate<String> classPredicate = createClassPredicate(); final Predicate<ClassPathRoot> pathPredicate = new DefaultCodePathPredicate(); return new ProjectClassPaths(classPath, new ClassFilter(classPredicate, classPredicate), new PathFilter(pathPredicate, Prelude.not(new DefaultDependencyPathPredicate()))); }
List<Class<?>> classes = CPScanner.scanClasses(new ClassFilter().packageName("com.foo.*").superClass(A.class));
List<Class<?>> classes = CPScanner.scanClasses(new PackageNameFilter("net.sf.corn.cps.*"),new ClassFilter().appendAnnotation(SampleAnnotation.class));
List<Class<?>> classes = CPScanner.scanClasses(new PackageNameFilter("net.sf.corn.cps.*"),new ClassFilter().appendAnnotation(Controller.class)); for(Class<?> clazz: classes){ if(clazz.isAnnotationPresent(RequestMapping.class){ //This is what you want } }
NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); ScriptEngine scriptEngine = factory.getScriptEngine( new String[] { "--no-java" }, //a quick way to disable direct access to java API null, //a ClassLoader, let's just ignore it new ClassFilter() { //this one simply forbids use of any java classes, including reflection @Override public boolean exposeToScripts(String string) { return false; } } );