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

    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()`
    `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` | `generateID()`
    `static java.lang.String` | `generateID(java.lang.String className)`
    `static java.lang.String` | `getAUTOIDClass(java.lang.String className)`
    `static java.lang.String` | `getHome()`
    `static java.lang.String` | `getLicenseType()`
    `static java.lang.String` | `getSCClassName(com.google.gwt.core.client.JavaScriptObject jsObj)` Gets the name of this underlying SmartClient class as a string.
    `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()`
    `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` | `keepGlobals()`
    `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)`
    `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()`
    `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` | `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()

    - #### getAUTOIDClass

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

    - #### generateID

          public static java.lang.String generateID()

    - #### generateID

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

    - #### releaseID

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

    - #### keepGlobals

          public static boolean keepGlobals()

    - #### getHome

          public static java.lang.String getHome()

    - #### debugger

          public static void debugger()

    - #### showConsole

          public static void showConsole()

    - #### 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()

    - #### 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"

    - #### 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"

    - #### 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.