You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2009/11/30 21:33:22 UTC
svn commit: r885579 -
/jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/reflect/ClassFinder.java
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: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org