com.google.gwt.user.client.ui

## Class AttachDetachException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - com.google.web.bindery.event.shared.UmbrellaException
        - - com.google.gwt.event.shared.UmbrellaException
          - - com.google.gwt.user.client.ui.AttachDetachException

- All Implemented Interfaces:
    java.io.Serializable

      public class AttachDetachException
      extends UmbrellaException

  An exception that is thrown when the panel fails to attach or detach its children.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `AttachDetachException.Command` The command to execute when iterating through child widgets.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) static AttachDetachException.Command` | `attachCommand` The singleton command used to attach widgets.
    `(package private) static AttachDetachException.Command` | `detachCommand` The singleton command used to detach widgets.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AttachDetachException(java.util.Set<java.lang.Throwable> causes)` Construct a new `AttachDetachException`.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `tryCommand(AttachDetachException.Command c, IsWidget... widgets)` Iterator through all child widgets, trying to perform the specified `AttachDetachException.Command` for each.
    `static void` | `tryCommand(java.lang.Iterable<Widget> hasWidgets, AttachDetachException.Command c)` Iterator through all child widgets, trying to perform the specified `AttachDetachException.Command` for each.

    - ### Methods inherited from class com.google.web.bindery.event.shared.UmbrellaException

      `getCauses, makeCause, makeMessage`

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

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

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

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

- - ### Field Detail

    - #### attachCommand

          static final AttachDetachException.Command attachCommand

      The singleton command used to attach widgets.

    - #### detachCommand

          static final AttachDetachException.Command detachCommand

      The singleton command used to detach widgets.

  - ### Constructor Detail

    - #### AttachDetachException

          public AttachDetachException(java.util.Set<java.lang.Throwable> causes)

      Construct a new `AttachDetachException`.
      Parameters:
        `causes` - the causes of the exception

  - ### Method Detail

    - #### tryCommand

          public static void tryCommand(java.lang.Iterable<Widget> hasWidgets,
                                        AttachDetachException.Command c)

      Iterator through all child widgets, trying to perform the specified `AttachDetachException.Command` for each. All widgets will be visited even if the Command throws an exception. If one or more exceptions occur, they will be combined and thrown as a single `AttachDetachException`.

      Use this method when attaching or detaching a widget with children to ensure that the logical and physical state of all children match the logical and physical state of the parent.

      Parameters:
        `hasWidgets` - children to iterate
        `c` - the `AttachDetachException.Command` to try on all children

    - #### tryCommand

          public static void tryCommand(AttachDetachException.Command c,
                                        IsWidget... widgets)

      Iterator through all child widgets, trying to perform the specified `AttachDetachException.Command` for each. All widgets will be visited even if the Command throws an exception. If one or more exceptions occur, they will be combined and thrown as a single `AttachDetachException`.

      Use this method when attaching or detaching a widget with children to ensure that the logical and physical state of all children match the logical and physical state of the parent.

      Parameters:
        `c` - the `AttachDetachException.Command` to try on all children
        `widgets` - children to iterate, null children are ignored