com.smartgwt.client.util

## Class SC

- java.lang.Object
- - com.smartgwt.client.util.SC

-     public class SC
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `AUTOID`
    `static java.lang.String` | `AUTOIDCLASS`
    `static java.lang.String` | `MODULE`
    `static java.lang.String` | `REF`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SC()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `ask(java.lang.String message, BooleanCallback callback)` Show a modal dialog with a message, icon, and "Yes" and "No" buttons.
    `static void` | `ask(java.lang.String title, java.lang.String message, BooleanCallback callback)` Show a modal dialog with a message, icon, and "Yes" and "No" buttons.
    `static void` | `ask(java.lang.String title, java.lang.String message, BooleanCallback callback, Dialog dialogProperties)` Show a modal dialog with a message, icon, and "Yes" and "No" buttons.
    `static void` | `askforValue(java.lang.String title, java.lang.String message, java.lang.String defaultValue, ValueCallback callback, Dialog dialogProperties)` Show a modal dialog with a text entry box, asking the user to enter a value.
    `static void` | `askforValue(java.lang.String title, java.lang.String message, ValueCallback callback)` Show a modal dialog with a text entry box, asking the user to enter a value.
    `static void` | `askforValue(java.lang.String message, ValueCallback callback)` Show a modal dialog with a text entry box, asking the user to enter a value.
    `static void` | `clearPrompt()` Clear the modal prompt being shown to the user.
    `static void` | `confirm(java.lang.String message, BooleanCallback callback)` Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons.
    `static void` | `confirm(java.lang.String title, java.lang.String message, BooleanCallback callback)` Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons.
    `static void` | `confirm(java.lang.String title, java.lang.String message, BooleanCallback callback, Dialog dialogProperties)` Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons.
    `static void` | `debugger()` Launch the browser's JavaScript debugger.
    `static void` | `disableFirebug()` Disable firebug.
    `static void` | `dismissCurrentDialog()` If a dialog triggered via `say(String)`, `ask(String, BooleanCallback)`, `warn(String)`, `confirm(String, BooleanCallback)` or `askforValue(String, ValueCallback)` is currently visible, it will be dismissed.
    `static java.lang.String` | `echo(com.google.gwt.core.client.JavaScriptObject object)` Returns the passed in JavaScript object as a string
    `static java.lang.String` | `echoAll(com.google.gwt.core.client.JavaScriptObject object)` Returns the passed in JavaScript object as a string (including serializing members one level deep for javascript arrays and nested objects)
    `static java.lang.String` | `echoLeaf(java.lang.Object value)` Return a very short (generally less than 40 characters) string representation of any object, suitable for viewing by a developer for debugging purposes.
    `static java.lang.String` | `generateID()` Internal method - do not call from Application code.
    `static java.lang.String` | `generateID(java.lang.String className)` Internal method - do not call from Application code.
    `static java.lang.String` | `getAUTOIDClass(java.lang.String className)` Internal method - do not call from Application code.
    `static java.lang.String` | `getHome()` Get the root directory for Isomorphic-supplied SmartClient files - the directory containing the modules/ and system/ subdirectories extracted when the SmartGWT project is built.
    `static java.lang.String` | `getJSStackTrace()` Returns the current stack trace, from a JavaScript perspective.
    `static java.lang.String` | `getLicenseType()` Internal method - do not call from Application code.
    `static java.lang.String` | `getSCClassName(com.google.gwt.core.client.JavaScriptObject jsObj)` Gets the name of this underlying SmartClient class as a string.
    `static java.lang.String` | `getScParityStableVersionNumber()` Internal method - do not call from Application code.
    `static java.lang.String` | `getScVersion()` Internal method - do not call from Application code.
    `static java.lang.String` | `getScVersionNumber()` Internal method - do not call from Application code.
    `static java.lang.String` | `getSgwtParityStableVersionNumber()` Internal method - do not call from Application code.
    `static java.lang.String` | `getSgwtVersion()` Internal method - do not call from Application code.
    `static java.lang.String` | `getSgwtVersionNumber()` Internal method - do not call from Application code.
    `static boolean` | `hasAnalytics()` Returns true if the optional Analytics module has been loaded.
    `static boolean` | `hasCharts()` Returns true if the optional Charts module has been loaded.
    `static boolean` | `hasDashboardAndTools()` Returns true if the optional Dashboard & Tools module is available.
    `static boolean` | `hasDrawing()` Returns true if the optional Drawing module has been loaded.
    `static boolean` | `hasFirebug()` Returns `true` if Firebug is enabled.
    `static boolean` | `hasPluginBridges()` Returns true if the optional PluginBridges module has been loaded.
    `static boolean` | `hasRealtimeMessaging()` Returns true if the optional RealtimeMessaging module has been loaded.
    `static boolean` | `isIE()` Internal method - do not call from Application code.
    `static boolean` | `isMethodSupported(java.lang.String className, java.lang.String methodName)` Returns true if the method is supported by the class, meaning that it is not null and was not replaced by `markUnsupportedMethods(String, String, String[])`.
    `static boolean` | `isStable()` Internal method - do not call from Application code.
    `static boolean` | `keepGlobals()` Internal method - do not call from Application code.
    `static void` | `logDebug(java.lang.String message)` Log a debugging.
    `static void` | `logDebug(java.lang.String message, java.lang.String category)` Log a debugging
    `static void` | `logEcho(Canvas canvas)` Logs the echoed object as a warning, prefixed with an optional message.
    `static void` | `logEcho(Canvas canvas, java.lang.String message)` Logs the echoed object as a warning, prefixed with an optional message.
    `static void` | `logEcho(com.google.gwt.core.client.JavaScriptObject value)` Logs the echoed object as a warning, prefixed with an optional message.
    `static void` | `logEcho(com.google.gwt.core.client.JavaScriptObject value, java.lang.String message)` Logs the echoed object as a warning, prefixed with an optional message.
    `static void` | `logEchoAll(Canvas canvas)` Logs the echoed object as a warning, prefixed with an optional message.
    `static void` | `logEchoAll(Canvas canvas, java.lang.String message)` Logs the echoed object as a warning, prefixed with an optional message.
    `static void` | `logEchoAll(com.google.gwt.core.client.JavaScriptObject value)` Logs the echoed object as a warning, prefixed with an optional message.
    `static void` | `logEchoAll(com.google.gwt.core.client.JavaScriptObject value, java.lang.String message)` Logs the echoed object as a warning, prefixed with an optional message.
    `static void` | `logInfo(java.lang.String message)` Log an informative message.
    `static void` | `logInfo(java.lang.String message, java.lang.String category)` Log an informative message.
    `static boolean` | `logIsDebugEnabled(java.lang.String category)` Check whether a message logged at "debug" priority would be visible in the log.
    `static boolean` | `logIsInfoEnabled(java.lang.String category)` Check whether a message logged at "info" priority would be visible in the log.
    `static void` | `logWarn(java.lang.String message)` Log a warning.
    `static void` | `logWarn(java.lang.String message, java.lang.String category)` Log a warning.
    `static void` | `markUnsupportedMethods(java.lang.String className, java.lang.String messageTemplate, java.lang.String[] methodNames)` Replaces each of the methods named in methodNames with a new implementation that simply logs a warning the first time the method is called, and nothing else.
    `static void` | `openDataSourceConsole()` Opens the DataSource admin console in a separate window.
    `static void` | `openDataSourceGenerator()` Opens the DataSource Generator Wizard in a separate window.
    `static void` | `openVisualBuilder()` Opens the SmartClient Visual Builder in a separate window.
    `static void` | `releaseID(java.lang.String className, java.lang.String id)` Internal method - do not call from Application code.
    `static void` | `say(java.lang.String message)` Show a modal dialog with a message, icon, and "OK" button.
    `static void` | `say(java.lang.String message, BooleanCallback callback)` Show a modal dialog with a message, icon, and "OK" button.
    `static void` | `say(java.lang.String title, java.lang.String message)` Show a modal dialog with a message, icon, and "OK" button.
    `static void` | `say(java.lang.String title, java.lang.String message, BooleanCallback callback)` Show a modal dialog with a message, icon, and "OK" button.
    `static void` | `setEnableJSDebugger(boolean useDebugger)` Setting this to true will result in the IE / Firebug / Safari debugger being invoked when a JavaScript error is encountered.
    `static void` | `setScreenReaderMode(boolean newState)` Enables full screen reader mode.
    `static void` | `showConsole()` Open the SmartClient Developer Console.
    `static void` | `showPrompt(java.lang.String message)` Show a modal prompt to the user.
    `static void` | `showPrompt(java.lang.String title, java.lang.String message)` Show a modal prompt to the user.
    `static void` | `showPrompt(java.lang.String title, java.lang.String message, Dialog dialogProperties)` Show a modal prompt to the user.
    `static void` | `traceLogMessage(java.lang.String messagePattern)` Causes a stack trace to be logged any time a message containing the provided pattern is logged.
    `static void` | `traceLogMessage(java.lang.String messagePattern, java.lang.String prefix)` Causes a stack trace to be logged any time a message containing the provided pattern is logged.
    `static void` | `warn(java.lang.String message)` Show a modal dialog with a message, icon, and "OK" button.
    `static void` | `warn(java.lang.String message, BooleanCallback callback)` Show a modal dialog with a message, icon, and "OK" button.
    `static void` | `warn(java.lang.String title, java.lang.String message)` Show a modal dialog with a message, icon, and "OK" button.
    `static void` | `warn(java.lang.String title, java.lang.String message, BooleanCallback callback, Dialog dialogProperties)` Show a modal dialog with a message, icon, and "OK" button.

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

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

- - ### Field Detail

    - #### REF

          public static final java.lang.String REF

      See Also:
        Constant Field Values

    - #### MODULE

          public static final java.lang.String MODULE

      See Also:
        Constant Field Values

    - #### AUTOID

          public static final java.lang.String AUTOID

      See Also:
        Constant Field Values

    - #### AUTOIDCLASS

          public static final java.lang.String AUTOIDCLASS

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SC

          public SC()

  - ### Method Detail

    - #### getLicenseType

          public static java.lang.String getLicenseType()

      Internal method - do not call from Application code.

    - #### getAUTOIDClass

          public static java.lang.String getAUTOIDClass(java.lang.String className)

      Internal method - do not call from Application code.

    - #### generateID

          public static java.lang.String generateID()

      Internal method - do not call from Application code.

    - #### generateID

          public static java.lang.String generateID(java.lang.String className)

      Internal method - do not call from Application code.

    - #### releaseID

          public static void releaseID(java.lang.String className,
                                       java.lang.String id)

      Internal method - do not call from Application code.

    - #### keepGlobals

          public static boolean keepGlobals()

      Internal method - do not call from Application code.

    - #### getHome

          public static java.lang.String getHome()

      Get the root directory for Isomorphic-supplied SmartClient files - the directory containing the modules/ and system/ subdirectories extracted when the SmartGWT project is built. This property is commonly specified directly in the bootstrap HTML file by setting `window.isomorphicDir` before loading the SmartClient library files.
      Returns:
        `isomorphicDir` `URL`

    - #### debugger

          public static void debugger()

      Launch the browser's JavaScript debugger. See `Debugging` for how to approach debugging a SmartGWT Application.

    - #### showConsole

          public static void showConsole()

      Open the SmartClient Developer Console. See `Debugging` for how to approach debugging a SmartGWT Application.

    - #### openDataSourceConsole

          public static void openDataSourceConsole()

      Opens the DataSource admin console in a separate window.

      Requires Smart GWT Pro or better.

    - #### openVisualBuilder

          public static void openVisualBuilder()

      Opens the SmartClient Visual Builder in a separate window. Note that the Visual Builder is capable of generating DataSources as well, however unlike the DataSource Generator Wizard, it cannot generate DataSources in batches.

      Requires Smart GWT Pro or better.

    - #### openDataSourceGenerator

          public static void openDataSourceGenerator()

      Opens the DataSource Generator Wizard in a separate window.

      Requires Smart GWT Enterprise or Eval.

    - #### getSCClassName

          public static java.lang.String getSCClassName(com.google.gwt.core.client.JavaScriptObject jsObj)

      Gets the name of this underlying SmartClient class as a string.
      Parameters:
        `jsObj` - the smartclient object
      Returns:
        the class name or null if not a smartclient class

    - #### hasFirebug

          public static boolean hasFirebug()

      Returns `true` if Firebug is enabled.
      Returns:
        `true` if Firebug is enabled; `false` otherwise.

    - #### isIE

          public static boolean isIE()

      Internal method - do not call from Application code.

    - #### disableFirebug

          public static void disableFirebug()

      Disable firebug.

    - #### say

          public static void say(java.lang.String message)

      Show a modal dialog with a message, icon, and "OK" button. Intended for notifications which are not really warnings (default icon is less severe). See `sayIcon`.
      Parameters:
        `message` - the message

    - #### say

          public static void say(java.lang.String title,
                                 java.lang.String message)

      Show a modal dialog with a message, icon, and "OK" button. Intended for notifications which are not really warnings (default icon is less severe). See `sayIcon`.
      Parameters:
        `title` - the title of the message box
        `message` - the message

    - #### say

          public static void say(java.lang.String message,
                                 BooleanCallback callback)

      Show a modal dialog with a message, icon, and "OK" button. Intended for notifications which are not really warnings (default icon is less severe). See `sayIcon`.

      The callback will receive boolean true for an OK button click, or null if the Dialog is dismissed via the close button.

      Parameters:
        `message` - the message
        `callback` - the callback to fire when the user dismisses the dialog.

    - #### say

          public static void say(java.lang.String title,
                                 java.lang.String message,
                                 BooleanCallback callback)

      Show a modal dialog with a message, icon, and "OK" button. Intended for notifications which are not really warnings (default icon is less severe). See `sayIcon`.

      The callback will receive boolean true for an OK button click, or null if the Dialog is dismissed via the close button.

      Parameters:
        `title` - the title of the message box
        `message` - the message
        `callback` - the callback to fire when the user dismisses the dialog.

    - #### ask

          public static void ask(java.lang.String message,
                                 BooleanCallback callback)

      Show a modal dialog with a message, icon, and "Yes" and "No" buttons. See `askIcon`.

      The callback will receive boolean true for a Yes button click, boolean false for a No button click, or null if the Dialog is dismissed via the close button.

      Parameters:
        `message` - the message
        `callback` - the callback to fire when the user dismisses the dialog.

    - #### ask

          public static void ask(java.lang.String title,
                                 java.lang.String message,
                                 BooleanCallback callback)

      Show a modal dialog with a message, icon, and "Yes" and "No" buttons. See `askIcon`.

      The callback will receive boolean true for a Yes button click, boolean false for a No button click, or null if the Dialog is dismissed via the close button.

      Parameters:
        `title` - the title of the message box
        `message` - the message
        `callback` - the callback to fire when the user dismisses the dialog.

    - #### ask

          public static void ask(java.lang.String title,
                                 java.lang.String message,
                                 BooleanCallback callback,
                                 Dialog dialogProperties)

      Show a modal dialog with a message, icon, and "Yes" and "No" buttons. See `askIcon`.

      The callback will receive boolean true for a Yes button click, boolean false for a No button click, or null if the Dialog is dismissed via the close button.

      Parameters:
        `title` - the title of the message box
        `message` - the message
        `callback` - the callback to fire when the user dismisses the dialog.

    - #### askforValue

          public static void askforValue(java.lang.String message,
                                         ValueCallback callback)

      Show a modal dialog with a text entry box, asking the user to enter a value.

      As with other convenience methods that show Dialogs, such as `#warn(String, String, BooleanCallback)` , the dialog is shown and the function immediately returns. When the user responds, the provided callback is called.

      If the user clicks OK, the value typed in is passed to the callback (including the empty string ("") if nothing was entered. If the user clicks cancel, the value passed to the callback is null.

      A default value for the text field can be passed via `properties.defaultValue`

      Keyboard focus is automatically placed in the text entry field, and hitting the enter key is the equivalent of pressing OK.

      Parameters:
        `message` - message to display
        `callback` - Callback to fire when the user clicks a button to dismiss the dialog. This has the single parameter 'value', indicating the user entry, or null if cancel was pressed or the window closed

    - #### askforValue

          public static void askforValue(java.lang.String title,
                                         java.lang.String message,
                                         ValueCallback callback)

      Show a modal dialog with a text entry box, asking the user to enter a value.

      As with other convenience methods that show Dialogs, such as `#warn(String, String, BooleanCallback)` , the dialog is shown and the function immediately returns. When the user responds, the provided callback is called.

      If the user clicks OK, the value typed in is passed to the callback (including the empty string ("") if nothing was entered. If the user clicks cancel, the value passed to the callback is null.

      Keyboard focus is automatically placed in the text entry field, and hitting the enter key is the equivalent of pressing OK.

      Parameters:
        `title` - the title of the dialog
        `message` - message to display
        `callback` - Callback to fire when the user clicks a button to dismiss the dialog. This has the single parameter 'value', indicating the user entry, or null if cancel was pressed or the window closed

    - #### askforValue

          public static void askforValue(java.lang.String title,
                                         java.lang.String message,
                                         java.lang.String defaultValue,
                                         ValueCallback callback,
                                         Dialog dialogProperties)

      Show a modal dialog with a text entry box, asking the user to enter a value.

      As with other convenience methods that show Dialogs, such as `#warn(String, String, BooleanCallback)` , the dialog is shown and the function immediately returns. When the user responds, the provided callback is called.

      If the user clicks OK, the value typed in is passed to the callback (including the empty string ("") if nothing was entered. If the user clicks cancel, the value passed to the callback is null.

      Keyboard focus is automatically placed in the text entry field, and hitting the enter key is the equivalent of pressing OK.

      Parameters:
        `title` - the title of the dialog
        `message` - message to display
        `defaultValue` - the default value of the text field
        `callback` - Callback to fire when the user clicks a button to dismiss the dialog. This has the single parameter 'value', indicating the user entry, or null if cancel was pressed or the window closed
        `dialogProperties` - additional properties of the Dialog

    - #### dismissCurrentDialog

          public static void dismissCurrentDialog()

      If a dialog triggered via `say(String)`, `ask(String, BooleanCallback)`, `warn(String)`, `confirm(String, BooleanCallback)` or `askforValue(String, ValueCallback)` is currently visible, it will be dismissed. The callback passed to the relevant method will never fire.

      Note this is a rarely used API with very few valid use cases. As an example, perhaps some kind of periodic (non-user triggered) event would cause an entire area of the UI to be removed (such as a tab) and the system wants to ensure that no modal dialogs are currently showing from that part of the UI. In this case, while `dismissCurrentDialog` could be used to ensure the part of the UI being removed didn't leave behind a modal dialog.

      To clear a modal prompt shown by `showPrompt(String)`, use `clearPrompt()` instead.

    - #### showPrompt

          public static void showPrompt(java.lang.String message)

      Show a modal prompt to the user. This method will display the message using the Dialog.Prompt singleton object.

      Note: if this prompt is to be shown to the user during some slow logic, we advise calling this method, then using `DeferredCommand` to kick off the slow logic in a separate thread. This ensures that the prompt is showing before the lengthy execution begins.

      Parameters:
        `message` - message to display
      See Also:
        `clearPrompt()`

    - #### showPrompt

          public static void showPrompt(java.lang.String title,
                                        java.lang.String message,
                                        Dialog dialogProperties)

      Show a modal prompt to the user. This method will display the message using the Dialog.Prompt singleton object.

      Note: if this prompt is to be shown to the user during some slow logic, we advise calling this method, then using `DeferredCommand` to kick off the slow logic in a separate thread. This ensures that the prompt is showing before the lengthy execution begins.

      Parameters:
        `title` - the title of the dialog
        `message` - message to display
        `dialogProperties` - additional properties for the Dialog
      See Also:
        `clearPrompt()`

    - #### showPrompt

          public static void showPrompt(java.lang.String title,
                                        java.lang.String message)

      Show a modal prompt to the user. This method will display the message using the Dialog.Prompt singleton object.

      Note: if this prompt is to be shown to the user during some slow logic, we advise calling this method, then using `DeferredCommand` to kick off the slow logic in a separate thread. This ensures that the prompt is showing before the lengthy execution begins.

      Parameters:
        `title` - the title of the dialog
        `message` - message to display
      See Also:
        `clearPrompt()`

    - #### clearPrompt

          public static void clearPrompt()

      Clear the modal prompt being shown to the user.

    - #### confirm

          public static void confirm(java.lang.String message,
                                     BooleanCallback callback)

      Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons. See `confirmIcon`.

      The callback will receive boolean true for an OK button click, or null for a Cancel click or if the Dialog is dismissed via the close button.

      Parameters:
        `message` - message to display
        `callback` - Callback to fire when the user clicks a button to dismiss the dialog.

    - #### confirm

          public static void confirm(java.lang.String title,
                                     java.lang.String message,
                                     BooleanCallback callback)

      Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons. See `confirmIcon`.

      The callback will receive boolean true for an OK button click, or null for a Cancel click or if the Dialog is dismissed via the close button.

      Parameters:
        `title` - the title of the dialog
        `message` - message to display
        `callback` - Callback to fire when the user clicks a button to dismiss the dialog.

    - #### confirm

          public static void confirm(java.lang.String title,
                                     java.lang.String message,
                                     BooleanCallback callback,
                                     Dialog dialogProperties)

      Show a modal dialog with a message, icon, and "OK" and "Cancel" buttons. See `confirmIcon`.

      The callback will receive boolean true for an OK button click, or null for a Cancel click or if the Dialog is dismissed via the close button.

      Parameters:
        `title` - the title of the dialog
        `message` - message to display
        `callback` - Callback to fire when the user clicks a button to dismiss the dialog.
        `dialogProperties` - additional properties for the Dialog

    - #### warn

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

      Show a modal dialog with a message, icon, and "OK" button. See `warnIcon`.
      Parameters:
        `message` - the message

    - #### warn

          public static void warn(java.lang.String title,
                                  java.lang.String message)

      Show a modal dialog with a message, icon, and "OK" button. See `warnIcon`.

      Parameters:
        `title` - the title of the dialog
        `message` - the message

    - #### warn

          public static void warn(java.lang.String message,
                                  BooleanCallback callback)

      Show a modal dialog with a message, icon, and "OK" button. See `warnIcon`.

      The callback will receive boolean true for an OK button click, or null if the Dialog is dismissed via the close button.

      Parameters:
        `message` - the message
        `callback` - Optional Callback to fire when the user dismisses the dialog.

    - #### warn

          public static void warn(java.lang.String title,
                                  java.lang.String message,
                                  BooleanCallback callback,
                                  Dialog dialogProperties)

      Show a modal dialog with a message, icon, and "OK" button. See `warnIcon`.

      The callback will receive boolean true for an OK button click, or null if the Dialog is dismissed via the close button.

      Parameters:
        `title` - the title of the dialog
        `message` - the message
        `callback` - Optional Callback to fire when the user dismisses the dialog.
        `dialogProperties` - additional properties for the Dialog

    - #### logWarn

          public static void logWarn(java.lang.String message)

      Log a warning.
      Parameters:
        `message` - the message to log

    - #### logWarn

          public static void logWarn(java.lang.String message,
                                     java.lang.String category)

      Log a warning.
      Parameters:
        `message` - the message to log
        `category` - category to log in, defaults to "Log"

    - #### logInfo

          public static void logInfo(java.lang.String message)

      Log an informative message.
      Parameters:
        `message` - the message to log

    - #### logInfo

          public static void logInfo(java.lang.String message,
                                     java.lang.String category)

      Log an informative message.
      Parameters:
        `message` - the message to log
        `category` - category to log in, defaults to "Log"

    - #### logDebug

          public static void logDebug(java.lang.String message)

      Log a debugging.
      Parameters:
        `message` - the message to log

    - #### logDebug

          public static void logDebug(java.lang.String message,
                                      java.lang.String category)

      Log a debugging
      Parameters:
        `message` - the message to log
        `category` - category to log in, defaults to "Log"

    - #### logEcho

          public static void logEcho(com.google.gwt.core.client.JavaScriptObject value)

      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
        `value` - object to echo

    - #### logEcho

          public static void logEcho(com.google.gwt.core.client.JavaScriptObject value,
                                     java.lang.String message)

      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
        `value` - object to echo
        `message` - the message to log

    - #### logEcho

          public static void logEcho(Canvas canvas)

      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
        `canvas` - canvas to echo

    - #### logEcho

          public static void logEcho(Canvas canvas,
                                     java.lang.String message)

      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
        `canvas` - canvas to echo
        `message` - the message to log

    - #### logEchoAll

          public static void logEchoAll(com.google.gwt.core.client.JavaScriptObject value)

      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
        `value` - object to echo

    - #### logEchoAll

          public static void logEchoAll(com.google.gwt.core.client.JavaScriptObject value,
                                        java.lang.String message)

      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
        `value` - object to echo
        `message` - the message to log

    - #### logEchoAll

          public static void logEchoAll(Canvas canvas)

      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
        `canvas` - canvas to echo

    - #### logIsInfoEnabled

          public static boolean logIsInfoEnabled(java.lang.String category)

      Check whether a message logged at "info" priority would be visible in the log. Use this method to avoid putting together expensive log messages if they will never appear in the log.
      Parameters:
        `category` - category to check; defaults to "Log"

    - #### echoLeaf

          public static java.lang.String echoLeaf(java.lang.Object value)

      Return a very short (generally less than 40 characters) string representation of any object, suitable for viewing by a developer for debugging purposes.
      Parameters:
        `value` - object to echo
      Returns:
        a short string representation of the object.

    - #### logIsDebugEnabled

          public static boolean logIsDebugEnabled(java.lang.String category)

      Check whether a message logged at "debug" priority would be visible in the log. Use this method to avoid putting together expensive log messages if they will never appear in the log.
      Parameters:
        `category` - category to check; defaults to "Log"

    - #### getJSStackTrace

          public static java.lang.String getJSStackTrace()

      Returns the current stack trace, from a JavaScript perspective. This should provide meaningful JS stack frames for Java code in Super Development Mode, and in Production Mode, if GWT compilation has been configured with options such as "‑optimize 0" and/or "‑style PRETTY" to disable obfuscation. Frames corresponding to the native SmartClient Framework will be obfuscated unless the GWT project is `configured for debugging`.

      In Classic DevMode, this API will provide very limited information - stack frames corresponding to Java code will likely be displayed as anonymous functions, and many or most such frames will be missing. For DevMode, it's preferable to use GWT-supported Java APIs to capture the stack, such as for example:

               Throwable t = new Throwable();

               String stack = "";
               for (StackTraceElement element : t.getStackTrace()) {
                   stack += element + "\n";
               }

               SC.logDebug("Current location: " + stack);

      Grabbing Java StackTraceElements in Super Development Mode or Production Mode will work, but won't provide any added benefit as in DevMode.
      See Also:
        `Debugging`

    - #### setEnableJSDebugger

          public static void setEnableJSDebugger(boolean useDebugger)

      Setting this to true will result in the IE / Firebug / Safari debugger being invoked when a JavaScript error is encountered. This is done by the execution of the commend "debugger;" when the error occurs. Setting this to true is useful for debugging any javascript errors.
      Parameters:
        `useDebugger` - default is false

    - #### logEchoAll

          public static void logEchoAll(Canvas canvas,
                                        java.lang.String message)

      Logs the echoed object as a warning, prefixed with an optional message.
      Parameters:
        `canvas` - canvas to echo
        `message` - the message to log

    - #### echo

          public static java.lang.String echo(com.google.gwt.core.client.JavaScriptObject object)

      Returns the passed in JavaScript object as a string
      Parameters:
        `object` -
      Returns:

    - #### echoAll

          public static java.lang.String echoAll(com.google.gwt.core.client.JavaScriptObject object)

      Returns the passed in JavaScript object as a string (including serializing members one level deep for javascript arrays and nested objects)
      Parameters:
        `object` -
      Returns:

    - #### hasAnalytics

          public static boolean hasAnalytics()

      Returns true if the optional Analytics module has been loaded.
      Returns:
        true if Analytics module is loaded

    - #### hasCharts

          public static boolean hasCharts()

      Returns true if the optional Charts module has been loaded.
      Returns:
        true if Charts module is loaded

    - #### hasDrawing

          public static boolean hasDrawing()

      Returns true if the optional Drawing module has been loaded.
      Returns:
        true if Drawing module is loaded

    - #### hasPluginBridges

          public static boolean hasPluginBridges()

      Returns true if the optional PluginBridges module has been loaded.
      Returns:
        true if PluginBridges module is loaded

    - #### hasRealtimeMessaging

          public static boolean hasRealtimeMessaging()

      Returns true if the optional RealtimeMessaging module has been loaded.
      Returns:
        true if RealtimeMessaging module is loaded

    - #### hasDashboardAndTools

          public static boolean hasDashboardAndTools()

      Returns true if the optional Dashboard & Tools module is available.
      Returns:
        true if Dashboard & Tools module is available.

    - #### setScreenReaderMode

          public static void setScreenReaderMode(boolean newState)

      Enables full screen reader mode. Must be called before any components are created. See `Accessibility`.
      Parameters:
        `new` - state for screen reader mode (true for enabled, false for disabled)

    - #### isMethodSupported

          public static boolean isMethodSupported(java.lang.String className,
                                                  java.lang.String methodName)

      Returns true if the method is supported by the class, meaning that it is not null and was not replaced by `markUnsupportedMethods(String, String, String[])`.
      Parameters:
        `className` - className to check
        `methodName` - methodName to check
      Returns:
        boolean true if the method is not null and is not an unsupported method; false otherwise.

    - #### markUnsupportedMethods

          public static void markUnsupportedMethods(java.lang.String className,
                                                    java.lang.String messageTemplate,
                                                    java.lang.String[] methodNames)

      Replaces each of the methods named in methodNames with a new implementation that simply logs a warning the first time the method is called, and nothing else. This can be used to mark methods of derived classes which do not support certain parent class methods as unsupported.

      The messageTemplate parameter is a template for the warning message logged when the unsupported method is first called. The following variables in the template are substituted as follows:

      Variable | Substitution
      --- | ---
      `$class` | The +link{getClassName(),class name}.
      `$method` | The name of the method.

      If you want the literal string of a substitution variable to appear in the warning message, you can escape it by prefixing with a dollar sign. For example, to include "$class" in the warning message, use "$$class" in the template.

      Parameters:
        `className` - className containing methods to mark
        `messageTemplate` - template for the warning message logged when first called. If null, the default template string "$class does not support the $method() method." is used.
        `methodNames` - the method names to mark as unsupported.

    - #### traceLogMessage

          public static void traceLogMessage(java.lang.String messagePattern)

      Causes a stack trace to be logged any time a message containing the provided pattern is logged. This can help figure out the origin of warnings or other mysterious logs in a large complex application.

      The passed `messagePattern` is interpreted as a JavaScript regular expression.

      Parameters:
        `messagePattern` -

    - #### traceLogMessage

          public static void traceLogMessage(java.lang.String messagePattern,
                                             java.lang.String prefix)

      Causes a stack trace to be logged any time a message containing the provided pattern is logged. This can help figure out the origin of warnings or other mysterious logs in a large complex application.

      The passed `messagePattern` is interpreted as a JavaScript regular expression.

      Parameters:
        `messagePattern` -
        `prefix` - value to prefix the message

    - #### getScVersion

          public static java.lang.String getScVersion()

      Internal method - do not call from Application code.

    - #### getScVersionNumber

          public static java.lang.String getScVersionNumber()

      Internal method - do not call from Application code.

    - #### getSgwtVersion

          public static java.lang.String getSgwtVersion()

      Internal method - do not call from Application code.

    - #### getSgwtVersionNumber

          public static java.lang.String getSgwtVersionNumber()

      Internal method - do not call from Application code.

    - #### getScParityStableVersionNumber

          public static java.lang.String getScParityStableVersionNumber()

      Internal method - do not call from Application code.

    - #### getSgwtParityStableVersionNumber

          public static java.lang.String getSgwtParityStableVersionNumber()

      Internal method - do not call from Application code.

    - #### isStable

          public static boolean isStable()

      Internal method - do not call from Application code.