public abstract class ReflectionAccessor extends Object
AccessibleObject.setAccessible(boolean), which may be used to
avoid reflective access issues appeared in Java 9, like java.lang.reflect.InaccessibleObjectException
thrown or warnings like
WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by ...
Works both for Java 9 and earlier Java versions.
| Constructor and Description |
|---|
ReflectionAccessor() |
| Modifier and Type | Method and Description |
|---|---|
static ReflectionAccessor |
getInstance()
Obtains a
ReflectionAccessor instance suitable for the current Java version. |
abstract void |
makeAccessible(AccessibleObject ao)
Does the same as
ao.setAccessible(true), but never throws
java.lang.reflect.InaccessibleObjectException |
public abstract void makeAccessible(AccessibleObject ao)
ao.setAccessible(true), but never throws
java.lang.reflect.InaccessibleObjectExceptionpublic static ReflectionAccessor getInstance()
ReflectionAccessor instance suitable for the current Java version.
You may need one a reflective operation in your code throws java.lang.reflect.InaccessibleObjectException.
In such a case, use makeAccessible(AccessibleObject) on a field, method or constructor
(instead of basic AccessibleObject.setAccessible(boolean)).
Copyright © 2010–2020 meanbean. All rights reserved.