Skip to content

Commit

Permalink
Renamed classpath scanning utils.
Browse files Browse the repository at this point in the history
  • Loading branch information
nmihajlovski committed Jan 19, 2015
1 parent 6c11938 commit 8804345
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 20 deletions.
8 changes: 4 additions & 4 deletions rapidoid-app/src/main/java/org/rapidoid/app/Apps.java
Expand Up @@ -87,10 +87,10 @@ public static synchronized AppClasses scanAppClasses(HttpExchange x, ClassLoader

if (APP_CLASSES == null) {

Map<String, Class<?>> services = Cls.classMap(Scan.classpathClassesBySuffix("Service", null, classLoader));
Map<String, Class<?>> pages = Cls.classMap(Scan.classpathClassesBySuffix("Page", null, classLoader));
Map<String, Class<?>> apps = Cls.classMap(Scan.classpathClassesByName("App", null, classLoader));
Map<String, Class<?>> screens = Cls.classMap(Scan.classpathClassesBySuffix("Screen", null, classLoader));
Map<String, Class<?>> services = Cls.classMap(Scan.bySuffix("Service", null, classLoader));
Map<String, Class<?>> pages = Cls.classMap(Scan.bySuffix("Page", null, classLoader));
Map<String, Class<?>> apps = Cls.classMap(Scan.byName("App", null, classLoader));
Map<String, Class<?>> screens = Cls.classMap(Scan.bySuffix("Screen", null, classLoader));

final Class<?> appClass = !apps.isEmpty() ? apps.get("App") : TheDefaultApp.class;

Expand Down
Expand Up @@ -49,7 +49,7 @@ public static void main(String[] args) {

int exampleN = 1;
while (true) {
List<Class<?>> classes = Scan.classpathClasses("org.rapidoid.docs.eg" + exampleN, ".*", null, null, null);
List<Class<?>> classes = Scan.pkg("org.rapidoid.docs.eg" + exampleN);
if (classes.isEmpty()) {
break;
}
Expand Down
Expand Up @@ -32,7 +32,7 @@ public class PageHandler implements Handler {
@Override
public Object handle(HttpExchange x) throws Exception {

Map<String, Class<?>> pages = Cls.classMap(Scan.classpathClassesBySuffix("Page", null, null));
Map<String, Class<?>> pages = Cls.classMap(Scan.bySuffix("Page", null, null));

Object result = Pages.dispatch(x, null, pages);

Expand Down
2 changes: 1 addition & 1 deletion rapidoid-pojo/src/main/java/org/rapidoid/pojo/POJO.java
Expand Up @@ -32,7 +32,7 @@ public class POJO {
public static final String SERVICE_SUFFIX = "Service";

public static List<Class<?>> scanServices() {
return Scan.classpathClassesBySuffix(SERVICE_SUFFIX, null, null);
return Scan.bySuffix(SERVICE_SUFFIX, null, null);
}

public static PojoDispatcher dispatcher(Class<?>... serviceClasses) {
Expand Down
26 changes: 14 additions & 12 deletions rapidoid-utils/src/main/java/org/rapidoid/util/Scan.java
Expand Up @@ -47,7 +47,7 @@ public static synchronized void args(String... args) {
}
}

public static Object addon(String addonName) {
private static Object addon(String addonName) {
U.must(addonName.matches("\\w+"), "Invalid add-on name, must be alphanumeric!");

String addonClassName = "org.rapidoid.addon." + U.capitalized(addonName) + "Addon";
Expand All @@ -74,7 +74,7 @@ public static Object addon(String addonName) {
return null;
}

public static List<Class<?>> classpathClasses(String packageName, String nameRegex, Predicate<Class<?>> filter,
public static List<Class<?>> classes(String packageName, String nameRegex, Predicate<Class<?>> filter,
Class<? extends Annotation> annotated, ClassLoader classLoader) {

packageName = U.or(packageName, "");
Expand Down Expand Up @@ -104,12 +104,15 @@ public static List<Class<?>> classpathClasses(String packageName, String nameReg
}

public static List<Class<?>> annotated(Class<? extends Annotation> annotated) {
return classpathClasses(null, null, null, annotated, null);
return classes(null, null, null, annotated, null);
}

public static List<Class<?>> classpathClassesByName(String simpleName, Predicate<Class<?>> filter,
ClassLoader classLoader) {
List<Class<?>> classes = classpathClasses("*", ".*\\." + simpleName, filter, null, classLoader);
public static List<Class<?>> pkg(String packageName) {
return classes(packageName, null, null, null, null);
}

public static List<Class<?>> byName(String simpleName, Predicate<Class<?>> filter, ClassLoader classLoader) {
List<Class<?>> classes = classes("*", ".*\\." + simpleName, filter, null, classLoader);

if (classes.isEmpty()) {
Log.warn("No classes found on classpath with the specified simple name", "name", simpleName);
Expand All @@ -118,9 +121,8 @@ public static List<Class<?>> classpathClassesByName(String simpleName, Predicate
return classes;
}

public static List<Class<?>> classpathClassesBySuffix(String nameSuffix, Predicate<Class<?>> filter,
ClassLoader classLoader) {
List<Class<?>> classes = classpathClasses("*", ".+\\w" + nameSuffix, filter, null, classLoader);
public static List<Class<?>> bySuffix(String nameSuffix, Predicate<Class<?>> filter, ClassLoader classLoader) {
List<Class<?>> classes = classes("*", ".+\\w" + nameSuffix, filter, null, classLoader);

if (classes.isEmpty()) {
Log.warn("No classes found on classpath with the specified suffix", "suffix", nameSuffix);
Expand All @@ -129,15 +131,15 @@ public static List<Class<?>> classpathClassesBySuffix(String nameSuffix, Predica
return classes;
}

public static List<File> classpath(String packageName, Predicate<File> filter) {
public static List<File> files(String packageName, Predicate<File> filter) {
ArrayList<File> files = new ArrayList<File>();

classpath(packageName, files, filter);
files(packageName, files, filter);

return files;
}

public static void classpath(String packageName, Collection<File> files, Predicate<File> filter) {
public static void files(String packageName, Collection<File> files, Predicate<File> filter) {
Enumeration<URL> urls = resources(packageName);

while (urls.hasMoreElements()) {
Expand Down
Expand Up @@ -34,7 +34,7 @@ public class ClasspathScanTest extends TestCommons {
@SuppressWarnings("unchecked")
@Test
public void testClasspathScanByName() {
List<Class<?>> classes = Scan.classpathClasses(null, ".*Test", null, null, null);
List<Class<?>> classes = Scan.classes(null, ".*Test", null, null, null);

eq(U.set(classes), U.set(ClasspathScanTest.class, DatesTest.class, AppCtxTest.class));
}
Expand Down

0 comments on commit 8804345

Please sign in to comment.