Package: grails.util

## [Java] Class GrailsUtil

- grails.util.GrailsUtil

- Grails utility methods for command line and GUI applications.

  Authors:
    Graeme Rocher
  Since:
    0.2

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `static java.lang.Throwable` | `deepSanitize(java.lang.Throwable t)`
    `` | `static void` | `deprecated(java.lang.Class<?> clazz, java.lang.String methodOrPropName)` Logs warning message about deprecation of specified property or method of some class.
    `` | `static void` | `deprecated(java.lang.Class<?> clazz, java.lang.String methodOrPropName, java.lang.String version)` Logs warning message about deprecation of specified property or method of some class.
    `` | `static void` | `deprecated(java.lang.String message)` Logs warning message about some deprecation and code style related hints.
    `` | `static java.lang.Throwable` | `extractRootCause(java.lang.Throwable t)`
    `` | `static java.lang.String` | `getGrailsVersion()`
    `` | `static boolean` | `isDevelopmentEnv()` Retrieves whether the current execution environment is the development one.
    `` | `static void` | `printSanitizedStackTrace(java.lang.Throwable t, java.io.PrintWriter p)`
    `` | `static void` | `printSanitizedStackTrace(java.lang.Throwable t, java.io.PrintWriter p, StackTraceFilterer stackTraceFilterer)`
    `` | `static void` | `printSanitizedStackTrace(java.lang.Throwable t)`
    `` | `static java.lang.Throwable` | `sanitizeRootCause(java.lang.Throwable t)`
    `` | `static void` | `warn(java.lang.String message)` Logs warning message to grails.util.GrailsUtil logger which is turned on in development mode.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class java.lang.Object` | `java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Method Detail

    - #### public static java.lang.Throwable deepSanitize(java.lang.Throwable t)

      Sanitize the exception and ALL nested causes

      This will MODIFY the stacktrace of the exception instance and all its causes irreversibly

      Parameters:
        t
      Returns:
        The root cause exception instances, with stack trace modified to filter out grails runtime classes

    - #### public static void deprecated(java.lang.Class<?> clazz, java.lang.String methodOrPropName)

      Logs warning message about deprecation of specified property or method of some class.

      Parameters:
        `clazz` - A class
        `methodOrPropName` - Name of deprecated property or method

    - #### public static void deprecated(java.lang.Class<?> clazz, java.lang.String methodOrPropName, java.lang.String version)

      Logs warning message about deprecation of specified property or method of some class.

      Parameters:
        `clazz` - A class
        `methodOrPropName` - Name of deprecated property or method
        `version` - Version of Grails release in which property or method were deprecated

    - #### public static void deprecated(java.lang.String message)

      Logs warning message about some deprecation and code style related hints.

      Parameters:
        `message` - Message to display

    - #### public static java.lang.Throwable extractRootCause(java.lang.Throwable t)

      Extracts the root cause of the exception, no matter how nested it is

      Parameters:
        t
      Returns:
        The deepest cause of the exception that can be found

    - #### public static java.lang.String getGrailsVersion()

    - #### public static boolean isDevelopmentEnv()

      Retrieves whether the current execution environment is the development one.

      Returns:
        true if it is the development environment

    - #### public static void printSanitizedStackTrace(java.lang.Throwable t, java.io.PrintWriter p)

    - #### public static void printSanitizedStackTrace(java.lang.Throwable t, java.io.PrintWriter p, StackTraceFilterer stackTraceFilterer)

    - #### public static void printSanitizedStackTrace(java.lang.Throwable t)

    - #### public static java.lang.Throwable sanitizeRootCause(java.lang.Throwable t)

      Get the root cause of an exception and sanitize it for display to the user

      This will MODIFY the stacktrace of the root cause exception object and return it

      Parameters:
        t
      Returns:
        The root cause exception instance, with its stace trace modified to filter out grails runtime classes

    - #### public static void warn(java.lang.String message)

      Logs warning message to grails.util.GrailsUtil logger which is turned on in development mode.

      Parameters:
        `message` - Message to display