Package: groovy.lang

## [Java] Class GroovySystem

- groovy.lang.GroovySystem

-     public final class GroovySystem
      extends Object

  Central access point for Groovy runtime-wide services and configuration.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static Map<String, GroovyRunner>` | `RUNNER_REGISTRY` | Reference to the Runtime Registry to be used by the Groovy run-time system to find classes capable of running scripts

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public static MetaClassRegistry` | `getMetaClassRegistry()` Returns Groovy's global MetaClassRegistry.
    `` | `public static String` | `getShortVersion()` Returns the major and minor part of the groovy version excluding the point/patch part of the version.
    `` | `public static String` | `getVersion()` Returns the groovy version
    `` | `public static boolean` | `isKeepJavaMetaClasses()` Indicates whether Java meta classes are retained strongly by the runtime.
    `` | `public static boolean` | `isUseReflection()` Indicates whether the legacy reflection-only runtime mode is enabled.
    `` | `public static void` | `setKeepJavaMetaClasses(boolean keepJavaMetaClasses)` Controls whether Java meta classes should be retained strongly by the runtime.
    `` | `public static void` | `stopThreadedReferenceManager()` This method can be used to ensure that no threaded created by a reference manager will be active.

  - ### Inherited Methods Summary

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

- - ### Field Detail

    - #### @Deprecated
      public static final Map<String, GroovyRunner> RUNNER_REGISTRY

      Reference to the Runtime Registry to be used by the Groovy run-time system to find classes capable of running scripts

      deprecated:
        use GroovyRunnerRegistry

  - ### Method Detail

    - #### public static MetaClassRegistry getMetaClassRegistry()

      Returns Groovy's global MetaClassRegistry.

      Returns:
        the runtime meta class registry

    - #### public static String getShortVersion()

      Returns the major and minor part of the groovy version excluding the point/patch part of the version. E.g. 3.0.0, 3.0.0-SNAPSHOT, 3.0.0-rc-1 all have 3.0 as the short version.

      Since:
        3.0.1

    - #### public static String getVersion()

      Returns the groovy version

    - #### public static boolean isKeepJavaMetaClasses()

      Indicates whether Java meta classes are retained strongly by the runtime.

      Returns:
        `true` if Java meta classes are kept

    - #### @Deprecated
      public static boolean isUseReflection()

      Indicates whether the legacy reflection-only runtime mode is enabled.

      deprecated:
        this flag is retained for compatibility
      Returns:
        `true` when reflection-only dispatch is enabled

    - #### public static void setKeepJavaMetaClasses(boolean keepJavaMetaClasses)

      Controls whether Java meta classes should be retained strongly by the runtime.

      Parameters:
        `keepJavaMetaClasses` - `true` to keep Java meta classes

    - #### public static void stopThreadedReferenceManager()

      This method can be used to ensure that no threaded created by a reference manager will be active. This is useful if the Groovy runtime itself is loaded through a class loader which should be disposed off. Without calling this method and if a threaded reference manager is active the class loader cannot be unloaded! Per default no threaded manager will be used.

      Since:
        1.6