public Scanner filterResultsBy(Predicate<String> filter) { this.setResultFilter(filter); return this; }
public TypeElementsScanner includeAnnotations() { return includeAnnotations(true); } public TypeElementsScanner includeAnnotations(boolean include) { includeAnnotations = include; return this; }
public TypeElementsScanner includeFields() { return includeFields(true); } public TypeElementsScanner includeFields(boolean include) { includeFields = include; return this; }
public ConfigurationBuilder() { scanners = Sets.<Scanner>newHashSet(new TypeAnnotationsScanner(), new SubTypesScanner()); urls = Sets.newHashSet(); }
List<ClassLoader> classLoadersList = new LinkedList<ClassLoader>(); classLoadersList.add(ClasspathHelper.contextClassLoader()); classLoadersList.add(ClasspathHelper.staticClassLoader()); Reflections reflections = new Reflections(new ConfigurationBuilder() .setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner()) .setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0]))) .filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("org.your.package"))));
@Override public Object scan(Vfs.File file, Object classObject) { classObject = super.scan(file, classObject); String className = getMetadataAdapter().getClassName(classObject); getStore().put(className, className); return classObject; }
private void put(String key, int lineNumber, String value) { if (acceptResult(key)) { getStore().put(key, value + " #" + lineNumber); } }
public TypeElementsScanner includeMethods() { return includeMethods(true); } public TypeElementsScanner includeMethods(boolean include) { includeMethods = include; return this; }
/** created new SubTypesScanner. * @param excludeObjectClass if false, include direct {@link Object} subtypes in results. */ public SubTypesScanner(boolean excludeObjectClass) { if (excludeObjectClass) { filterResultsBy(new FilterBuilder().exclude(Object.class.getName())); //exclude direct Object subtypes } }
public TypeElementsScanner publicOnly() { return publicOnly(true); } }
public boolean acceptsInput(String file) { return getMetadataAdapter().acceptsInput(file); }
public ConfigurationBuilder() { scanners = Sets.<Scanner>newHashSet(new TypeAnnotationsScanner(), new SubTypesScanner()); urls = Sets.newHashSet(); }
@Override public Object scan(Vfs.File file, Object classObject) { classObject = super.scan(file, classObject); String className = getMetadataAdapter().getClassName(classObject); getStore().put(className, className); return classObject; }
private void put(String key, int lineNumber, String value) { if (acceptResult(key)) { getStore().put(key, value + " #" + lineNumber); } }
public TypeElementsScanner includeAnnotations() { return includeAnnotations(true); } public TypeElementsScanner includeAnnotations(boolean include) { includeAnnotations = include; return this; }
public TypeElementsScanner includeFields() { return includeFields(true); } public TypeElementsScanner includeFields(boolean include) { includeFields = include; return this; }
public TypeElementsScanner includeMethods() { return includeMethods(true); } public TypeElementsScanner includeMethods(boolean include) { includeMethods = include; return this; }
public Scanner filterResultsBy(Predicate<String> filter) { this.setResultFilter(filter); return this; }
public TypeElementsScanner publicOnly() { return publicOnly(true); } }
public boolean acceptsInput(String file) { return getMetadataAdapter().acceptsInput(file); }