Package com.google.gson.internal.reflect
Class ReflectionAccessor
- java.lang.Object
-
- com.google.gson.internal.reflect.ReflectionAccessor
-
public abstract class ReflectionAccessor extends java.lang.Object
Provides a replacement forAccessibleObject.setAccessible(boolean)
, which may be used to avoid reflective access issues appeared in Java 9, likeInaccessibleObjectException
thrown or warnings likeWARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by ...
Works both for Java 9 and earlier Java versions.
-
-
Constructor Summary
Constructors Constructor Description ReflectionAccessor()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static ReflectionAccessor
getInstance()
Obtains aReflectionAccessor
instance suitable for the current Java version.abstract void
makeAccessible(java.lang.reflect.AccessibleObject ao)
Does the same asao.setAccessible(true)
, but never throwsInaccessibleObjectException
-
-
-
Method Detail
-
makeAccessible
public abstract void makeAccessible(java.lang.reflect.AccessibleObject ao)
Does the same asao.setAccessible(true)
, but never throwsInaccessibleObjectException
-
getInstance
public static ReflectionAccessor getInstance()
Obtains aReflectionAccessor
instance suitable for the current Java version.You may need one a reflective operation in your code throws
InaccessibleObjectException
. In such a case, usemakeAccessible(AccessibleObject)
on a field, method or constructor (instead of basicAccessibleObject.setAccessible(boolean)
).
-
-