Package tigase.osgi.util
Class ClassUtil
- java.lang.Object
-
- tigase.osgi.util.ClassUtil
-
public class ClassUtil extends Object
ClassUtilfile contains code used for loading all implementations of specified interface or abstract class found in classpath. As a result of calling some functions you can haveSetcontaining all required classes.
Created: Wed Oct 6 08:25:52 2004
- Version:
- $Rev: 609 $
- Author:
- Artur Hefczyc
-
-
Constructor Summary
Constructors Constructor Description ClassUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T extends Class,S extends Class>
Set<S>getClassesAnnotated(ClassLoader loader, File f, T cls)Scans file for classes annotated with annotation Tstatic <T extends Class,S extends Class>
Set<S>getClassesAnnotated(org.osgi.framework.Bundle bundle, T cls)Scans OSGI bundle for classes annotated with annotation Tstatic Set<Class<?>>getClassesFromBundle(org.osgi.framework.Bundle bundle)static Set<Class>getClassesFromClassPath()static Set<Class>getClassesFromNames(ClassLoader loader, Set<String> names)static <T extends Class>
Set<T>getClassesImplementing(ClassLoader loader, File f, T cls)static <T extends Class>
Set<T>getClassesImplementing(Collection<Class> classes, T cls)static <T extends Class>
Set<T>getClassesImplementing(org.osgi.framework.Bundle bundle, T cls)Scans OSGI bundle for classes implementing class Tstatic <T extends Class>
Set<T>getClassesImplementing(T cls)static StringgetClassNameFromFileName(String fileName)static Set<String>getClassNamesFromDir(File dir)static Set<String>getClassNamesFromJar(File jarFile)static Set<String>getClassNamesFromWar(File jarFile)static Set<String>getFileListDeep(File path)static <T> Set<T>getImplementations(Class<T> obj)static voidwalkInDirForFiles(File base_dir, String path, Set<String> set)
-
-
-
Method Detail
-
getClassNamesFromJar
public static Set<String> getClassNamesFromJar(File jarFile) throws IOException
- Throws:
IOException
-
getClassNamesFromWar
public static Set<String> getClassNamesFromWar(File jarFile) throws IOException
- Throws:
IOException
-
getClassesAnnotated
public static <T extends Class,S extends Class> Set<S> getClassesAnnotated(ClassLoader loader, File f, T cls) throws IOException, ClassNotFoundException
Scans file for classes annotated with annotation T- Type Parameters:
T-S-- Parameters:
loader- class loader used to load classesf- file to scan for classescls- annotation class- Returns:
- set of annotated classes
- Throws:
IOExceptionClassNotFoundException
-
getClassesAnnotated
public static <T extends Class,S extends Class> Set<S> getClassesAnnotated(org.osgi.framework.Bundle bundle, T cls) throws IOException, ClassNotFoundException
Scans OSGI bundle for classes annotated with annotation T- Type Parameters:
T-S-- Parameters:
bundle- bundle to scan for annotated classescls- annotation class- Returns:
- set of annotated classes
- Throws:
IOExceptionClassNotFoundException
-
getClassesFromBundle
public static Set<Class<?>> getClassesFromBundle(org.osgi.framework.Bundle bundle)
-
getClassesFromClassPath
public static Set<Class> getClassesFromClassPath() throws IOException, ClassNotFoundException
- Throws:
IOExceptionClassNotFoundException
-
getClassesFromNames
public static Set<Class> getClassesFromNames(ClassLoader loader, Set<String> names) throws ClassNotFoundException
- Throws:
ClassNotFoundException
-
getClassesImplementing
public static <T extends Class> Set<T> getClassesImplementing(Collection<Class> classes, T cls)
-
getClassesImplementing
public static <T extends Class> Set<T> getClassesImplementing(T cls) throws IOException, ClassNotFoundException
- Throws:
IOExceptionClassNotFoundException
-
getClassesImplementing
public static <T extends Class> Set<T> getClassesImplementing(ClassLoader loader, File f, T cls) throws IOException, ClassNotFoundException
- Throws:
IOExceptionClassNotFoundException
-
getClassesImplementing
public static <T extends Class> Set<T> getClassesImplementing(org.osgi.framework.Bundle bundle, T cls) throws IOException, ClassNotFoundException
Scans OSGI bundle for classes implementing class T- Type Parameters:
T- return type param- Parameters:
bundle- bundle to scancls- base class- Returns:
- returns set of implementations
- Throws:
IOExceptionClassNotFoundException
-
getImplementations
public static <T> Set<T> getImplementations(Class<T> obj) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException
-
-