public abstract class ReflectionAccessor extends Object
AccessibleObject.setAccessible(boolean)
, which may be used to
avoid reflective access issues appeared in Java 9, like 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
InaccessibleObjectException |
public abstract void makeAccessible(AccessibleObject ao)
ao.setAccessible(true)
, but never throws
InaccessibleObjectException
public static ReflectionAccessor getInstance()
ReflectionAccessor
instance suitable for the current Java version.
You may need one a reflective operation in your code throws InaccessibleObjectException
.
In such a case, use makeAccessible(AccessibleObject)
on a field, method or constructor
(instead of basic AccessibleObject.setAccessible(boolean)
).
Copyright © 2019. All rights reserved.