Author: sebb
Date: Mon Nov 30 20:33:22 2009
New Revision: 885579
URL: http://svn.apache.org/viewvc?rev=885579&view=rev
Log:
Add convenience method findClassesThatExtend(Class<?> superClass)
Make lowest level method private
Modified:
jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/reflect/ClassFinder.java
Modified:
jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/reflect/ClassFinder.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/reflect/ClassFinder.java?rev=885579&r1=885578&r2=885579&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/reflect/ClassFinder.java
(original)
+++
jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/reflect/ClassFinder.java
Mon Nov 30 20:33:22 2009
@@ -35,6 +35,7 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
+import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.jorphan.util.JOrphanUtils;
import org.apache.log.Logger;
@@ -147,7 +148,21 @@
/**
* Convenience method for
- * <code>findClassesThatExtend(Class[], boolean)</code>
+ * {...@link #findClassesThatExtend(String[], Class[], boolean)}
+ * with the option to include inner classes in the search set to false
+ * and the path list is derived from JMeterUtils.getSearchPaths().
+ *
+ * @param superClass - single class to search for
+ * @return List of Strings containing discovered class names.
+ */
+ public static List<String> findClassesThatExtend(Class<?> superClass)
+ throws IOException {
+ return findClassesThatExtend(JMeterUtils.getSearchPaths(), new
Class[]{superClass}, false);
+ }
+
+ /**
+ * Convenience method for
+ * {...@link #findClassesThatExtend(String[], Class[], boolean)}
* with the option to include inner classes in the search set to false.
*
* @return List of Strings containing discovered class names.
@@ -252,8 +267,7 @@
*
* @return List containing discovered classes
*/
- @SuppressWarnings("unchecked")
- public static List<String> findClassesThatExtend(String[] strPathsOrJars,
+ private static List<String> findClassesThatExtend(String[] strPathsOrJars,
final Class<?>[] classNames, final boolean innerClasses,
String contains, String notContains, boolean annotations)
throws IOException {
@@ -281,9 +295,11 @@
}
}
+ @SuppressWarnings("unchecked") // Should only be called with classes
that extend annotations
+ final Class<? extends Annotation>[] annoclassNames = (Class<? extends
Annotation>[]) classNames;
Set<String> listClasses =
annotations ?
- new AnnoFilterTreeSet((Class<? extends Annotation>[])
classNames, innerClasses)
+ new AnnoFilterTreeSet(annoclassNames, innerClasses)
:
new FilterTreeSet(classNames, innerClasses, contains,
notContains);
// first get all the classes
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]