Package org.jboss.byteman.agent
Class DefaultAccessEnabler
- java.lang.Object
-
- org.jboss.byteman.agent.DefaultAccessEnabler
-
- All Implemented Interfaces:
AccessEnabler
public class DefaultAccessEnabler extends java.lang.Object implements AccessEnabler
Implementation of AccessEnabler for use in a non-Jigsaw enabled JDK runtime
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
DefaultAccessEnabler.DefaultAccessibleConstructorInvoker
private static class
DefaultAccessEnabler.DefaultAccessibleFieldGetter
private static class
DefaultAccessEnabler.DefaultAccessibleFieldSetter
private static class
DefaultAccessEnabler.DefaultAccessibleMethodInvoker
-
Constructor Summary
Constructors Constructor Description DefaultAccessEnabler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AccessibleConstructorInvoker
createConstructorInvoker(java.lang.reflect.Constructor constructor)
AccessibleConstructorInvoker
createConstructorInvoker(java.lang.reflect.Constructor constructor, boolean alreadyAccessible)
AccessibleFieldGetter
createFieldGetter(java.lang.reflect.Field field)
AccessibleFieldGetter
createFieldGetter(java.lang.reflect.Field field, boolean alreadyAccessible)
AccessibleFieldSetter
createFieldSetter(java.lang.reflect.Field field)
AccessibleFieldSetter
createFieldSetter(java.lang.reflect.Field field, boolean alreadyAccessible)
AccessibleMethodInvoker
createMethodInvoker(java.lang.reflect.Method method)
AccessibleMethodInvoker
createMethodInvoker(java.lang.reflect.Method method, boolean alreadyAccessible)
void
ensureAccess(java.lang.reflect.AccessibleObject accessible)
ensure that accessible can be accessed using reflection or a method handleboolean
requiresAccess(java.lang.Class<?> klazz)
test whether reference to the class from a classpath class requires the use of reflection or a method handle and possibly also module jiggery-pokery.boolean
requiresAccess(java.lang.reflect.AccessibleObject accessible)
test whether access to the accessible from a classpath class requires the use of reflection or a method handle and possibly also module jiggery-pokery.
-
-
-
Method Detail
-
requiresAccess
public boolean requiresAccess(java.lang.Class<?> klazz)
test whether reference to the class from a classpath class requires the use of reflection or a method handle and possibly also module jiggery-pokery.- Specified by:
requiresAccess
in interfaceAccessEnabler
- Parameters:
klazz
- the clas to be checked- Returns:
- true if reference to the class from a classpath class requires the use of reflection or a method handle and possibly module jiggery-pokery otherwise false.
-
requiresAccess
public boolean requiresAccess(java.lang.reflect.AccessibleObject accessible)
test whether access to the accessible from a classpath class requires the use of reflection or a method handle and possibly also module jiggery-pokery.- Specified by:
requiresAccess
in interfaceAccessEnabler
- Parameters:
accessible
- this must be a Member- Returns:
- true if access requires reflection or a method handle and possibly also module jiggery-pokery otherwise false.
-
ensureAccess
public void ensureAccess(java.lang.reflect.AccessibleObject accessible)
ensure that accessible can be accessed using reflection or a method handle- Specified by:
ensureAccess
in interfaceAccessEnabler
- Parameters:
accessible
- this must be a Member
-
createMethodInvoker
public AccessibleMethodInvoker createMethodInvoker(java.lang.reflect.Method method)
- Specified by:
createMethodInvoker
in interfaceAccessEnabler
-
createMethodInvoker
public AccessibleMethodInvoker createMethodInvoker(java.lang.reflect.Method method, boolean alreadyAccessible)
-
createConstructorInvoker
public AccessibleConstructorInvoker createConstructorInvoker(java.lang.reflect.Constructor constructor)
- Specified by:
createConstructorInvoker
in interfaceAccessEnabler
-
createConstructorInvoker
public AccessibleConstructorInvoker createConstructorInvoker(java.lang.reflect.Constructor constructor, boolean alreadyAccessible)
-
createFieldGetter
public AccessibleFieldGetter createFieldGetter(java.lang.reflect.Field field)
- Specified by:
createFieldGetter
in interfaceAccessEnabler
-
createFieldGetter
public AccessibleFieldGetter createFieldGetter(java.lang.reflect.Field field, boolean alreadyAccessible)
-
createFieldSetter
public AccessibleFieldSetter createFieldSetter(java.lang.reflect.Field field)
- Specified by:
createFieldSetter
in interfaceAccessEnabler
-
createFieldSetter
public AccessibleFieldSetter createFieldSetter(java.lang.reflect.Field field, boolean alreadyAccessible)
-
-