Package: org.codehaus.groovy.vmplugin.v8

## [Java] Class Java8

- org.codehaus.groovy.vmplugin.v8.Java8

- All Implemented Interfaces and Traits:
    VMPlugin

      public class Java8
      extends Object
      implements VMPlugin

  Java 8 based functions.

  Since:
    2.5.0

- - ### Constructor Summary

    Constructors
    Constructor and description
    `Java8 ()`

  - ### 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)` The following scenarios can not set accessible, i.e. the return value is false 1) SecurityException occurred 2) the accessible object is a Constructor object for the Class class
    `` | `public void` | `configureAnnotation(AnnotationNode node)`
    `` | `public void` | `configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)`
    `` | `public void` | `configureClassNode(CompileUnit compileUnit, ClassNode classNode)`
    `` | `public static GenericsType` | `configureTypeVariableDefinition(ClassNode base, ClassNode[] cBounds)`
    `` | `public static ClassNode` | `configureTypeVariableReference(String name)`
    `` | `protected int` | `getElementCode(ElementType value)`
    `` | `public Object` | `getInvokeSpecialHandle(Method method, Object receiver)`
    `` | `public Class<?>[]` | `getPluginDefaultGroovyMethods()`
    `` | `public Class<?>[]` | `getPluginStaticGroovyMethods()`
    `` | `public int` | `getVersion()`
    `` | `public void` | `invalidateCallSites()`
    `` | `public Object` | `invokeHandle(Object handle, Object[] args)`
    `` | `protected Parameter` | `makeParameter(CompileUnit cu, com.thoughtworks.qdox.model.Type type, Class<?> cl, Annotation[] annotations, String name)`
    `` | `public static MethodHandles.Lookup` | `of(Class<?> declaringClass)`
    `` | `protected Parameter[]` | `processParameters(CompileUnit compileUnit, Method m)`
    `` | `public void` | `setAdditionalClassInformation(ClassNode cn)`
    `` | `public MetaMethod` | `transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod, Class<?> caller)`
    `` | `public MetaMethod` | `transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod)`
    `` | `public boolean` | `trySetAccessible(AccessibleObject ao)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Constructor Detail

    - #### public Java8()

  - ### Method Detail

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

    - #### @Override public boolean checkCanSetAccessible(AccessibleObject accessibleObject, Class<?> callerClass)

      The following scenarios can not set accessible, i.e. the return value is false 1) SecurityException occurred 2) the accessible object is a Constructor object for the Class class

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

    - #### public void configureAnnotation(AnnotationNode node)

    - #### public void configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root)

    - #### public void configureClassNode(CompileUnit compileUnit, ClassNode classNode)

    - #### public static GenericsType configureTypeVariableDefinition(ClassNode base, ClassNode[] cBounds)

    - #### public static ClassNode configureTypeVariableReference(String name)

    - #### protected int getElementCode(ElementType value)

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

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

    - #### public Class<?>[] getPluginStaticGroovyMethods()

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

    - #### @Override public void invalidateCallSites()

    - #### @Override public Object invokeHandle(Object handle, Object[] args)

    - #### protected Parameter makeParameter(CompileUnit cu, com.thoughtworks.qdox.model.Type type, Class<?> cl, Annotation[] annotations, String name)

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

    - #### protected Parameter[] processParameters(CompileUnit compileUnit, Method m)

    - #### public void setAdditionalClassInformation(ClassNode cn)

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

    - #### @Override public MetaMethod transformMetaMethod(MetaClass metaClass, MetaMethod metaMethod)

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