Package org.apache.pulsar.common.util
Class Reflections
- java.lang.Object
-
- org.apache.pulsar.common.util.Reflections
-
public class Reflections extends java.lang.ObjectUtils related to reflections.
-
-
Constructor Summary
Constructors Constructor Description Reflections()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanclassExists(java.lang.String fqcn)Check if class exists.static booleanclassExistsInJar(java.io.File jar, java.lang.String fqcn)Check if a class is in a jar.static booleanclassImplementsIface(java.lang.String fqcn, java.lang.Class xface)check if class implements interface.static booleanclassInJarImplementsIface(java.io.File jar, java.lang.String fqcn, java.lang.Class xface)check if a class implements an interface.static java.lang.ObjectcreateInstance(java.lang.String userClassName, java.io.File jar)static <T> TcreateInstance(java.lang.String userClassName, java.lang.Class<T> xface, java.lang.ClassLoader classLoader)Create an instance ofuserClassNameusing providedclassLoader.static java.lang.ObjectcreateInstance(java.lang.String userClassName, java.lang.ClassLoader classLoader)Create an instance ofuserClassNameusing providedclassLoader.static java.lang.ObjectcreateInstance(java.lang.String userClassName, java.lang.ClassLoader classLoader, java.lang.Object[] params, java.lang.Class[] paramTypes)static java.util.List<java.lang.reflect.Field>getAllFields(java.lang.Class<?> type)static java.lang.ClassloadClass(java.lang.String className, java.lang.ClassLoader classLoader)Load class to resolve array types.
-
-
-
Method Detail
-
createInstance
public static <T> T createInstance(java.lang.String userClassName, java.lang.Class<T> xface, java.lang.ClassLoader classLoader)Create an instance ofuserClassNameusing providedclassLoader. This instance should implement the provided interfacexface.- Parameters:
userClassName- user class namexface- the interface that the reflected instance should implementclassLoader- class loader to load the class.- Returns:
- the instance
-
createInstance
public static java.lang.Object createInstance(java.lang.String userClassName, java.lang.ClassLoader classLoader)Create an instance ofuserClassNameusing providedclassLoader.- Parameters:
userClassName- user class nameclassLoader- class loader to load the class.- Returns:
- the instance
-
createInstance
public static java.lang.Object createInstance(java.lang.String userClassName, java.lang.ClassLoader classLoader, java.lang.Object[] params, java.lang.Class[] paramTypes)
-
createInstance
public static java.lang.Object createInstance(java.lang.String userClassName, java.io.File jar)
-
classExistsInJar
public static boolean classExistsInJar(java.io.File jar, java.lang.String fqcn)Check if a class is in a jar.- Parameters:
jar- location of the jarfqcn- fully qualified class name to search for in jar- Returns:
- true if class can be loaded from jar and false if otherwise
-
classExists
public static boolean classExists(java.lang.String fqcn)
Check if class exists.- Parameters:
fqcn- fully qualified class name to search for- Returns:
- true if class can be loaded from jar and false if otherwise
-
classInJarImplementsIface
public static boolean classInJarImplementsIface(java.io.File jar, java.lang.String fqcn, java.lang.Class xface)check if a class implements an interface.- Parameters:
fqcn- fully qualified class name to search for in jarxface- interface to check if implement- Returns:
- true if class from jar implements interface xface and false if otherwise
-
classImplementsIface
public static boolean classImplementsIface(java.lang.String fqcn, java.lang.Class xface)check if class implements interface.- Parameters:
fqcn- fully qualified class namexface- the interface the fqcn should implement- Returns:
- true if class implements interface xface and false if otherwise
-
loadClass
public static java.lang.Class loadClass(java.lang.String className, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundExceptionLoad class to resolve array types.- Parameters:
className- class nameclassLoader- class loader- Returns:
- loaded class
- Throws:
java.lang.ClassNotFoundException
-
getAllFields
public static java.util.List<java.lang.reflect.Field> getAllFields(java.lang.Class<?> type)
-
-