[Java] Class Java9

  • org.codehaus.groovy.vmplugin.v9.Java9
public class Java9
extends Java8

Additional Java 9 based functions will be added here as needed.

Methods Summary

Methods
Type Params Return Type Name and description
public boolean checkAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess)
public boolean checkCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass)
This method may be used by a caller in class C to check whether to enable access to a member of declaring class D successfully if Java8#checkCanSetAccessible(java.lang.reflect.AccessibleObject, java.lang.Class) returns true and any of the following hold:
public Map<String, Set<String>> getDefaultImportClasses(String[] packageNames)
public Object getInvokeSpecialHandle(Method method, Object receiver)
public int getVersion()
public static MethodHandles.Lookup of(Class<?> declaringClass)
public MetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller)
public boolean trySetAccessible(AccessibleObject ao)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class Java8 checkAccessible, checkCanSetAccessible, configureAnnotation, configureAnnotationNodeFromDefinition, configureClassNode, configureTypeVariableDefinition, configureTypeVariableReference, getElementCode, getInvokeSpecialHandle, getPluginDefaultGroovyMethods, getPluginStaticGroovyMethods, getVersion, invalidateCallSites, invokeHandle, makeParameter, of, processParameters, setAdditionalClassInformation, transformMetaMethod, transformMetaMethod, trySetAccessible

Method Detail

@Override public boolean checkAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess)

public boolean checkCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass)

This method may be used by a caller in class C to check whether to enable access to a member of declaring class D successfully if Java8#checkCanSetAccessible(java.lang.reflect.AccessibleObject, java.lang.Class) returns true and any of the following hold:

1) C and D are in the same module. 2) The member is public and D is public in a package that the module containing D exports to at least the module containing C. 3) The member is protected static, D is public in a package that the module containing D exports to at least the module containing C, and C is a subclass of D. 4) D is in a package that the module containing D opens to at least the module containing C. All packages in unnamed and open modules are open to all modules and so this method always succeeds when D is in an unnamed or open module.

Parameters:
accessibleObject - the accessible object to check
callerClass - the callerClass to invoke setAccessible
Returns:
the check result

@Override public Map<String, Set<String>> getDefaultImportClasses(String[] packageNames)

@Override public Object getInvokeSpecialHandle(Method method, Object receiver)

@Override public int getVersion()

public static MethodHandles.Lookup of(Class<?> declaringClass)

@Override public MetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller)

@Override public boolean trySetAccessible(AccessibleObject ao)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/vmplugin/v9/Java9.html