Package rs.baselib.lang
Class ReflectionUtils
java.lang.Object
rs.baselib.lang.ReflectionUtils
Reflection utilities.
- Since:
- 1.2.9
- Author:
- ralph
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Class<?>
Get the underlying class for a type, or null if the type is a variable type.getTypeArguments
(Class<T> baseClass, Class<? extends T> childClass) Get the actual type arguments a child class has used to extend a generic base class.static boolean
isAbstract
(Member member) Returns whether member is declared abstract.static boolean
Returns whether member is declared final.static boolean
isInstanceOf
(Class<?> inspectedClass, String className) Replacement forClass.isAssignableFrom(Class)
when it cannot be guaranteed that the class is available in classpath at runtime.static boolean
isInstanceOf
(Object o, String className) Replacement for "instanceof" operator when it cannot be guaranteed that the class is available in classpath at runtime.static boolean
Returns whether member is declared native.static boolean
Returns whether member is declared private.static boolean
isProtected
(Member member) Returns whether member is declared protected.static boolean
Returns whether member is declared public.static boolean
Returns whether member is declared static.static boolean
Returns whether member is declared strict.static boolean
isSynchronized
(Member member) Returns whether member is declared synchronized.static boolean
isTransient
(Member member) Returns whether member is declared transient.static boolean
isVolatile
(Member member) Returns whether member is declared volatile.
-
Constructor Details
-
ReflectionUtils
public ReflectionUtils()
-
-
Method Details
-
isInstanceOf
Replacement for "instanceof" operator when it cannot be guaranteed that the class is available in classpath at runtime.- Parameters:
o
- the object to be checkedclassName
- the complete class name- Returns:
- when the object is of that class
-
isInstanceOf
Replacement forClass.isAssignableFrom(Class)
when it cannot be guaranteed that the class is available in classpath at runtime.- Parameters:
inspectedClass
- the class to be checkedclassName
- the complete class name that should be implemented or a superclass of the inspected class- Returns:
- when the inspected class implements or derived from the class with given name
-
getClass
Get the underlying class for a type, or null if the type is a variable type.- Parameters:
type
- the type- Returns:
- the underlying class
-
getTypeArguments
public static <T> List<Class<?>> getTypeArguments(Class<T> baseClass, Class<? extends T> childClass) Get the actual type arguments a child class has used to extend a generic base class.- Type Parameters:
T
- type of base class- Parameters:
baseClass
- the base classchildClass
- the child class- Returns:
- a list of the raw classes for the actual type arguments.
-
isPublic
Returns whether member is declared public.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared public
-
isProtected
Returns whether member is declared protected.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared protected
-
isPrivate
Returns whether member is declared private.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared private
-
isStatic
Returns whether member is declared static.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared static
-
isFinal
Returns whether member is declared final.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared final
-
isVolatile
Returns whether member is declared volatile.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared volatile
-
isSynchronized
Returns whether member is declared synchronized.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared synchronized
-
isAbstract
Returns whether member is declared abstract.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared abstract
-
isNative
Returns whether member is declared native.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared native
-
isTransient
Returns whether member is declared transient.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared transient
-
isStrict
Returns whether member is declared strict.- Parameters:
member
- member to be inspected- Returns:
true
when member was declared strict
-