Package: org.codehaus.groovy.vmplugin.v9

## [Java] Class Java9

- org.codehaus.groovy.vmplugin.v9.Java9

-     public class Java9
      extends Java8

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class Java8` | `elementTypeToTarget`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public boolean` | `checkAccessible(Class<?> accessingClass, 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)`
    `` | `protected static Constructor<MethodHandles.Lookup>` | `getLookupConstructor()`
    `` | `public Class<?>[]` | `getPluginDefaultGroovyMethods()`
    `` | `protected static Method` | `getPrivateLookup()`
    `` | `public int` | `getVersion()`
    `` | `protected MethodHandles.Lookup` | `newLookup(Class<?> targetClass)`
    `` | `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, doPrivileged, doPrivileged, fillParameterNames, getInvokeSpecialHandle, getPluginDefaultGroovyMethods, getPluginStaticGroovyMethods, getValue, getVersion, invalidateCallSites, invokeHandle, makeClassNode, makeRecordComponents, newLookup, of, setAdditionalClassInformation, toAnnotationNode, transformMetaMethod, transformMetaMethod, trySetAccessible`

- - ### Method Detail

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

    - #### @Override
      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 class wishing to invoke `setAccessible`
      Returns:
        the check result

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

    - #### protected static Constructor<MethodHandles.Lookup> getLookupConstructor()

    - #### @Override
      public Class<?>[] getPluginDefaultGroovyMethods()

    - #### protected static Method getPrivateLookup()

    - #### @Override
      public int getVersion()

    - #### @Override
      protected MethodHandles.Lookup newLookup(Class<?> targetClass)

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

    - #### @Override
      public boolean trySetAccessible(AccessibleObject ao)