Package io.github.zero88.repl
Class ReflectionClass
- java.lang.Object
-
- io.github.zero88.repl.ReflectionClass
-
- All Implemented Interfaces:
ReflectionElement
public final class ReflectionClass extends java.lang.Object implements ReflectionElement
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanassertDataType(@NotNull java.lang.Class<?> childClass, @NotNull java.lang.Class<?> superClass)static booleanassertDataType(@NotNull java.lang.String childClass, @NotNull java.lang.Class<?> superClass)static booleanbelongsTo(@NotNull java.lang.String clazzName, java.lang.String... packageNames)static <T> Functions.Silencer<T>createObject(@NotNull java.lang.Class<T> clazz, @NotNull Arguments arguments, @NotNull Functions.Silencer<T> silencer)static <T> TcreateObject(java.lang.Class<T> clazz)static <T> TcreateObject(java.lang.Class<T> clazz, Arguments arguments)static <T> Functions.Silencer<T>createObject(java.lang.Class<T> clazz, Functions.Silencer<T> silencer)static <T> TcreateObject(java.lang.String clazz)static <T> TcreateObject(java.lang.String clazz, @NotNull Arguments arguments)static <T> java.lang.Class<T>findClass(java.lang.String cls)static <T> java.lang.Class<T>findClass(java.lang.String cls, java.lang.ClassLoader... classLoaders)static booleanhasClass(java.lang.String cls)static booleanhasClass(java.lang.String cls, java.lang.ClassLoader... classLoaders)static booleanisJavaLangObject(@NotNull java.lang.Class<?> clazz)static booleanisSystemClass(java.lang.String clazzName)static java.lang.Class<?>parsePrimitiveType(java.lang.String className)Return the javaClassobject if the given class name is primitivestatic <T> java.util.stream.Stream<java.lang.Class<T>>stream(ReflectionScanner scanner, java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull java.util.function.Predicate<java.lang.Class<T>> filter)static <T> java.util.stream.Stream<java.lang.Class<T>>stream(java.lang.String pkgName, java.lang.Class<T> parentCls)static <T> java.util.stream.Stream<java.lang.Class<T>>stream(java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)Scan all classes in given package that matches annotation and subclasses given parent class.static <T> java.util.stream.Stream<java.lang.Class<T>>stream(java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull java.util.function.Predicate<java.lang.Class<T>> filter)
-
-
-
Method Detail
-
assertDataType
public static boolean assertDataType(@NotNull @NotNull java.lang.String childClass, @NotNull @NotNull java.lang.Class<?> superClass)- Parameters:
childClass- Given childClasssuperClass- Give superClass- Returns:
trueifchildClassis primitive class or class that sub ofsuperClass- See Also:
assertDataType(Class, Class)
-
assertDataType
public static boolean assertDataType(@NotNull @NotNull java.lang.Class<?> childClass, @NotNull @NotNull java.lang.Class<?> superClass)- Parameters:
childClass- Given childClasssuperClass- Give superClass- Returns:
trueifchildClassis primitive class or class that sub ofsuperClass- See Also:
Class.isAssignableFrom(Class)
-
isSystemClass
public static boolean isSystemClass(java.lang.String clazzName)
-
belongsTo
public static boolean belongsTo(@NotNull @NotNull java.lang.String clazzName, java.lang.String... packageNames)
-
isJavaLangObject
public static boolean isJavaLangObject(@NotNull @NotNull java.lang.Class<?> clazz)
-
parsePrimitiveType
public static java.lang.Class<?> parsePrimitiveType(java.lang.String className)
Return the javaClassobject if the given class name is primitive- Parameters:
className- The class name- Returns:
- a primitive class or
nullif not primitive
-
stream
public static <T> java.util.stream.Stream<java.lang.Class<T>> stream(java.lang.String pkgName, java.lang.Class<T> parentCls)
-
stream
public static <T> java.util.stream.Stream<java.lang.Class<T>> stream(java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull @NotNull java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)Scan all classes in given package that matches annotation and subclasses given parent class.- Type Parameters:
T- Type of output- Parameters:
pkgName- Given package nameparentCls- Given parent class. Mayinterfaceclass,abstractclass ornullif none inheritedannotationClass- Given annotation type class@Target(ElementType.TYPE_USE)- Returns:
- List of matching class
-
stream
public static <T> java.util.stream.Stream<java.lang.Class<T>> stream(java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull @NotNull java.util.function.Predicate<java.lang.Class<T>> filter)
-
stream
public static <T> java.util.stream.Stream<java.lang.Class<T>> stream(ReflectionScanner scanner, java.lang.String pkgName, java.lang.Class<T> parentCls, @NotNull @NotNull java.util.function.Predicate<java.lang.Class<T>> filter)
-
hasClass
public static boolean hasClass(java.lang.String cls)
-
hasClass
public static boolean hasClass(java.lang.String cls, java.lang.ClassLoader... classLoaders)
-
findClass
public static <T> java.lang.Class<T> findClass(java.lang.String cls)
-
findClass
public static <T> java.lang.Class<T> findClass(java.lang.String cls, java.lang.ClassLoader... classLoaders)
-
createObject
public static <T> T createObject(java.lang.String clazz)
-
createObject
public static <T> T createObject(java.lang.String clazz, @NotNull @NotNull Arguments arguments)
-
createObject
public static <T> T createObject(java.lang.Class<T> clazz)
-
createObject
public static <T> T createObject(java.lang.Class<T> clazz, Arguments arguments)
-
createObject
public static <T> Functions.Silencer<T> createObject(java.lang.Class<T> clazz, Functions.Silencer<T> silencer)
-
createObject
public static <T> Functions.Silencer<T> createObject(@NotNull @NotNull java.lang.Class<T> clazz, @NotNull @NotNull Arguments arguments, @NotNull @NotNull Functions.Silencer<T> silencer)
-
-