Package com.google.gwt.core.client

## Class GWT

- java.lang.Object
- - com.google.gwt.core.client.GWT

-     public final class GWT
      extends java.lang.Object

  Supports core functionality that in some cases requires direct support from the compiler and runtime systems such as runtime type information and deferred binding.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `GWT.UncaughtExceptionHandler` | This interface is used to catch exceptions at the "top level" just before they escape to the browser.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `HOSTED_MODE_PERMUTATION_STRONG_NAME` | This constant is used by `getPermutationStrongName()` when running in Development Mode.

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T> T` | `create​(java.lang.Class<?> classLiteral)` | Instantiates a class via deferred binding.
    `static void` | `debugger()` | Emits a JavaScript "debugger" statement on the line that called this method.
    `static java.lang.String` | `getHostPageBaseURL()` | Gets the URL prefix of the hosting page, useful for prepending to relative paths of resources which may be relative to the host page.
    `static java.lang.String` | `getModuleBaseForStaticFiles()` | Gets the URL prefix that should be prepended to URLs that point to static files generated by the GWT compiler, such as files in the module's public path.
    `static java.lang.String` | `getModuleBaseURL()` | Gets the URL prefix that should be prepended to URLs that are intended to be module-relative, such as RPC entry points.
    `static java.lang.String` | `getModuleName()` | Gets the name of the running module.
    `static java.lang.String` | `getPermutationStrongName()` | Returns the permutation's strong name.
    `static java.lang.String` | `getTypeName​(java.lang.Object o)` | Deprecated. Use `Object.getClass()`, `Class.getName()`
    `static GWT.UncaughtExceptionHandler` | `getUncaughtExceptionHandler()` | Returns the currently active uncaughtExceptionHandler.
    `static java.lang.String` | `getUniqueThreadId()` | Returns the empty string when running in Production Mode, but returns a unique string for each thread in Development Mode (for example, different windows accessing the dev mode server will each have a unique id, and hitting refresh without restarting dev mode will result in a new unique id for a particular window.
    `static java.lang.String` | `getVersion()` |
    `static boolean` | `isClient()` | Returns `true` when running inside the normal GWT environment, either in Development Mode or Production Mode.
    `static boolean` | `isProdMode()` | Returns `true` when running in production mode.
    `static boolean` | `isScript()` | Determines whether or not the running program is script or bytecode.
    `static void` | `log​(java.lang.String message)` | Logs a message to the development shell logger in Development Mode, or to the console in Super Dev Mode.
    `static void` | `log​(java.lang.String message, java.lang.Throwable e)` | Logs a message to the development shell logger in Development Mode, or to the console in Super Dev Mode.
    `static void` | `reportUncaughtException​(java.lang.Throwable e)` | Reports an exception caught at the "top level" to a handler set via `setUncaughtExceptionHandler(UncaughtExceptionHandler)`.
    `static void` | `runAsync​(RunAsyncCallback callback)` | Run the specified callback once the necessary code for it has been loaded.
    `static void` | `runAsync​(java.lang.Class<?> name, RunAsyncCallback callback)` | The same as `runAsync(RunAsyncCallback)`, except with an extra parameter to provide a name for the call.
    `(package private) static void` | `setBridge​(GWTBridge bridge)` | Called via reflection in Development Mode; do not ever call this method in Production Mode.
    `static void` | `setUncaughtExceptionHandler​(GWT.UncaughtExceptionHandler handler)` | Sets a custom uncaught exception handler.

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

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

- - ### Field Detail

    - #### HOSTED_MODE_PERMUTATION_STRONG_NAME

          public static final java.lang.String HOSTED_MODE_PERMUTATION_STRONG_NAME

      This constant is used by `getPermutationStrongName()` when running in Development Mode.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### GWT

          public GWT()

  - ### Method Detail

    - #### create

          public static <T> T create​(java.lang.Class<?> classLiteral)

      Instantiates a class via deferred binding.

      The argument to `create(Class)` must be a class literal because the Production Mode compiler must be able to statically determine the requested type at compile-time. This can be tricky because using a `Class` variable may appear to work correctly in Development Mode.

      Parameters:
        `classLiteral` - a class literal specifying the base class to be instantiated
      Returns:
        the new instance, which must be cast to the requested class

    - #### getHostPageBaseURL

          public static java.lang.String getHostPageBaseURL()

      Gets the URL prefix of the hosting page, useful for prepending to relative paths of resources which may be relative to the host page. Typically, you should use `getModuleBaseURL()` unless you have a specific reason to load a resource relative to the host page.
      Returns:
        if non-empty, the base URL is guaranteed to end with a slash

    - #### getModuleBaseForStaticFiles

          public static java.lang.String getModuleBaseForStaticFiles()

      Gets the URL prefix that should be prepended to URLs that point to static files generated by the GWT compiler, such as files in the module's public path.

      Normally this will be the same value as `getModuleBaseURL()`, but may be different when a GWT app is configured to get its static resources from a different server.

      Returns:
        if non-empty, the base URL is guaranteed to end with a slash

    - #### getModuleBaseURL

          public static java.lang.String getModuleBaseURL()

      Gets the URL prefix that should be prepended to URLs that are intended to be module-relative, such as RPC entry points.

      If the URL points to an output file of the GWT compiler (such as a file in the public path), use `getModuleBaseForStaticFiles()` instead.

      Returns:
        if non-empty, the base URL is guaranteed to end with a slash

    - #### getModuleName

          public static java.lang.String getModuleName()

      Gets the name of the running module.

    - #### getPermutationStrongName

          public static java.lang.String getPermutationStrongName()

      Returns the permutation's strong name. This can be used to distinguish between different permutations of the same module. In Development Mode, this method will return "HostedMode".

    - #### getTypeName

          @Deprecated
          public static java.lang.String getTypeName​(java.lang.Object o)

      Deprecated.
      Use `Object.getClass()`, `Class.getName()`

    - #### getUncaughtExceptionHandler

          public static GWT.UncaughtExceptionHandler getUncaughtExceptionHandler()

      Returns the currently active uncaughtExceptionHandler.
      Returns:
        the currently active handler, or null if no handler is active.
      See Also:
        `reportUncaughtException(Throwable)`

    - #### reportUncaughtException

          public static void reportUncaughtException​(java.lang.Throwable e)

      Reports an exception caught at the "top level" to a handler set via `setUncaughtExceptionHandler(UncaughtExceptionHandler)`. This is used in places where the browser calls into user code such as event callbacks, timers, and RPC.

      If no `UncaughtExceptionHandler` is set, the exception is reported to browser. Browsers usually log these exceptions to the JavaScript console.

    - #### getUniqueThreadId

          public static java.lang.String getUniqueThreadId()

      Returns the empty string when running in Production Mode, but returns a unique string for each thread in Development Mode (for example, different windows accessing the dev mode server will each have a unique id, and hitting refresh without restarting dev mode will result in a new unique id for a particular window. TODO(unnurg): Remove this function once Dev Mode rewriting classes are in gwt-dev.

    - #### getVersion

          public static java.lang.String getVersion()

    - #### isClient

          public static boolean isClient()

      Returns `true` when running inside the normal GWT environment, either in Development Mode or Production Mode. Returns `false` if this code is running in a plain JVM. This might happen when running shared code on the server, or during the bootstrap sequence of a GWTTestCase test.

    - #### isProdMode

          public static boolean isProdMode()

      Returns `true` when running in production mode. Returns `false` when running either in development mode, or when running in a plain JVM.

    - #### isScript

          public static boolean isScript()

      Determines whether or not the running program is script or bytecode.

    - #### log

          public static void log​(java.lang.String message)

      Logs a message to the development shell logger in Development Mode, or to the console in Super Dev Mode. Calls are optimized out in Production Mode.

    - #### log

          public static void log​(java.lang.String message,
                                 java.lang.Throwable e)

      Logs a message to the development shell logger in Development Mode, or to the console in Super Dev Mode. Calls are optimized out in Production Mode.

    - #### debugger

          public static void debugger()

      Emits a JavaScript "debugger" statement on the line that called this method. If the user has the browser's debugger open, the debugger will stop when the GWT application executes that line. There is no effect in Dev Mode or in server-side code.

    - #### runAsync

          public static void runAsync​(java.lang.Class<?> name,
                                      RunAsyncCallback callback)

      The same as `runAsync(RunAsyncCallback)`, except with an extra parameter to provide a name for the call. The name parameter should be supplied with a class literal. If two GWT.runAsync calls use the same class literal, the codesplitter will put the corresponding code in the same code fragment.

    - #### runAsync

          public static void runAsync​(RunAsyncCallback callback)

      Run the specified callback once the necessary code for it has been loaded.

    - #### setUncaughtExceptionHandler

          public static void setUncaughtExceptionHandler​(GWT.UncaughtExceptionHandler handler)

      Sets a custom uncaught exception handler. See `getUncaughtExceptionHandler()` for details.
      Parameters:
        `handler` - the handler that should be called when an exception is about to escape to the browser, or `null` to clear the handler and allow exceptions to escape.

    - #### setBridge

          static void setBridge​(GWTBridge bridge)

      Called via reflection in Development Mode; do not ever call this method in Production Mode.