Package org.codehaus.groovy.vmplugin.v8

## Class Java8

- java.lang.Object
- - org.codehaus.groovy.vmplugin.v5.Java5
  - - org.codehaus.groovy.vmplugin.v6.Java6
    - - org.codehaus.groovy.vmplugin.v7.Java7
      - - org.codehaus.groovy.vmplugin.v8.Java8

- All Implemented Interfaces:
    `VMPlugin`
  Direct Known Subclasses:
    `Java9`

      public class Java8
      extends Java7

  Java 8 based functions.
  Since:
    2.5.0

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Java8()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected int` | `getElementCode​(ElementType value)` |
    `Class<?>[]` | `getPluginDefaultGroovyMethods()` |
    `int` | `getVersion()` | Gives the version the plugin is made for
    `protected Parameter[]` | `processParameters​(CompileUnit compileUnit, Method m)` |

    - ### Methods inherited from class org.codehaus.groovy.vmplugin.v7.Java7

      `getInvokeSpecialHandle, invalidateCallSites, invokeHandle`

    - ### Methods inherited from class org.codehaus.groovy.vmplugin.v5.Java5

      `configureAnnotation, configureAnnotationFromDefinition, configureAnnotationNodeFromDefinition, configureClassNode, configureTypeVariableDefinition, configureTypeVariableReference, getPluginStaticGroovyMethods, makeParameter, setAdditionalClassInformation`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Java8

          public Java8()

  - ### Method Detail

    - #### getPluginDefaultGroovyMethods

          public Class<?>[] getPluginDefaultGroovyMethods()

      Specified by:
        `getPluginDefaultGroovyMethods` in interface `VMPlugin`
      Overrides:
        `getPluginDefaultGroovyMethods` in class `Java5`

    - #### getVersion

          public int getVersion()

      Description copied from interface: `VMPlugin`
      Gives the version the plugin is made for
      Specified by:
        `getVersion` in interface `VMPlugin`
      Overrides:
        `getVersion` in class `Java7`
      Returns:
        7 for jdk7, 8 for jdk8, 9 for jdk9 or higher

    - #### getElementCode

          protected int getElementCode​(ElementType value)

      Overrides:
        `getElementCode` in class `Java5`

    - #### processParameters

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

      Overrides:
        `processParameters` in class `Java5`