Package org.zkoss.stateless.sul

## Interface IBorderlayout

- All Superinterfaces:
    `IAnyGroup<IBorderlayout>`, `IComponent<IBorderlayout>`, `IComposite<IBorderlayout,​ILayoutRegion>`, `IHtmlBasedComponent<IBorderlayout>`

      public interface IBorderlayout
      extends IHtmlBasedComponent<IBorderlayout>, IAnyGroup<IBorderlayout>, IComposite<IBorderlayout,​ILayoutRegion>

  Immutable `Borderlayout` component

  The layout component is a nested component. The parent component is `borderlayout`, and its children components include `north`, `south`, `west`, `east`, and `center`. All extra space is placed in the center area. The combination of children components of borderlayout is free.

  A borderlayout could be nested to another borderlayout (actually, almost all kinds of components) to form a complicated layout.

  ### Support Application Library Properties

  - To set to true to disable the animation effects of this component. (`withAnimationDisabled(boolean)`)

    Or configure it from zk.xml by setting library properties. For example,

          <library-property/>
             <name>org.zkoss.zul.borderlayout.animation.disable</name/>
             <value>true</value/>
         </library-property/>

  Author:
    katherine
  See Also:
    `Borderlayout`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `IBorderlayout.Builder` | Builds instances of type `IBorderlayout`.
    `static class` | `IBorderlayout.Updater` | Builds an updater of type `IBorderlayout` for `UiAgent.smartUpdate(Locator, SmartUpdater)`.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static IBorderlayout` | `DEFAULT` | Constant for default attributes of this immutable component.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ICenter` | `getCenter()` | Returns the center child.
    `IEast` | `getEast()` | Returns the east child.
    `INorth` | `getNorth()` | Returns the north child.
    `ISouth` | `getSouth()` | Returns the south child.
    `IWest` | `getWest()` | Returns the west child.
    `default java.lang.String` | `getWidgetClass()` | Returns the client widget class.
    `default boolean` | `isAnimationDisabled()` | Returns whether disable animation effects
    `static IBorderlayout` | `of​(java.lang.Iterable<? extends ILayoutRegion> children)` | Returns the instance with the given children (i.e.
    `static IBorderlayout` | `of​(ILayoutRegion... children)` | Returns the instance with the given children (i.e.
    `static IBorderlayout` | `ofFlex​(java.lang.String hflex, java.lang.String vflex)` | Returns the instance with the given flex, hflex and vflex.
    `static IBorderlayout` | `ofId​(java.lang.String id)` | Returns the instance with the given id.
    `static IBorderlayout` | `ofSize​(java.lang.String width, java.lang.String height)` | Returns the instance with the given size, width and height.
    `default IBorderlayout` | `withAllComponents​(java.lang.Iterable<? extends ILayoutRegion> elements)` | Copy the current immutable object with elements that replace the content of `children`.
    `IBorderlayout` | `withAnimationDisabled​(boolean animationDisabled)` | Returns a copy of `this` immutable component with the specified `animationDisabled`.
    `IBorderlayout` | `withCenter​(ICenter center)` | Returns a copy of `this` immutable component with the specified `center`.
    `IBorderlayout` | `withEast​(IEast east)` | Returns a copy of `this` immutable component with the specified `east`.
    `IBorderlayout` | `withNorth​(INorth north)` | Returns a copy of `this` immutable component with the specified `north`.
    `IBorderlayout` | `withSouth​(ISouth south)` | Returns a copy of `this` immutable component with the specified `south`.
    `IBorderlayout` | `withWest​(IWest west)` | Returns a copy of `this` immutable component with the specified `west`.

    - ### Methods inherited from interface org.zkoss.stateless.sul.IComponent

      `getAction, getActions, getClientAttributes, getId, getMold, getWidgetListeners, getWidgetOverrides, isVisible, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withActions, withActions, withClientAttribute, withClientAttributes, withId, withMold, withVisible, withWidgetClass, withWidgetListener, withWidgetListeners, withWidgetOverride, withWidgetOverrides`

    - ### Methods inherited from interface org.zkoss.stateless.sul.IHtmlBasedComponent

      `getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZIndex, isFocus, withClientAction, withDraggable, withDroppable, withFocus, withHeight, withHflex, withLeft, withRenderdefer, withSclass, withStyle, withTabindex, withTabindex, withTooltiptext, withTop, withVflex, withWidth, withZclass, withZIndex`

- - ### Field Detail

    - #### DEFAULT

          static final IBorderlayout DEFAULT

      Constant for default attributes of this immutable component.

  - ### Method Detail

    - #### getWidgetClass

          default java.lang.String getWidgetClass()

      Returns the client widget class.

      Default: `"zul.layout.Borderlayout"`

      Specified by:
        `getWidgetClass` in interface `IComponent<IBorderlayout>`

    - #### getNorth

          @Nullable
          INorth getNorth()

      Returns the north child.

      Default: `null`

    - #### withNorth

          IBorderlayout withNorth​(@Nullable
                                  INorth north)

      Returns a copy of `this` immutable component with the specified `north`.

      Sets the north child.

      Parameters:
        `north` - The north child

        Default: `null`

      Returns:
        A modified copy of the `this` object

    - #### getSouth

          @Nullable
          ISouth getSouth()

      Returns the south child.

      Default: `null`

    - #### withSouth

          IBorderlayout withSouth​(@Nullable
                                  ISouth south)

      Returns a copy of `this` immutable component with the specified `south`.

      Sets the south child.

      Parameters:
        `south` - The south child

        Default: `null`

      Returns:
        A modified copy of the `this` object

    - #### getWest

          @Nullable
          IWest getWest()

      Returns the west child.

      Default: `null`

    - #### withWest

          IBorderlayout withWest​(@Nullable
                                 IWest west)

      Returns a copy of `this` immutable component with the specified `west`.

      Sets the west child.

      Parameters:
        `west` - The west child

        Default: `null`

      Returns:
        A modified copy of the `this` object

    - #### getEast

          @Nullable
          IEast getEast()

      Returns the east child.

      Default: `null`

    - #### withEast

          IBorderlayout withEast​(@Nullable
                                 IEast east)

      Returns a copy of `this` immutable component with the specified `east`.

      Sets the east child.

      Parameters:
        `east` - The east child

        Default: `null`

      Returns:
        A modified copy of the `this` object

    - #### getCenter

          @Nullable
          ICenter getCenter()

      Returns the center child.

      Default: `null`

    - #### withCenter

          IBorderlayout withCenter​(@Nullable
                                   ICenter center)

      Returns a copy of `this` immutable component with the specified `center`.

      Sets the center child.

      Parameters:
        `center` - The center child

        Default: `null`

      Returns:
        A modified copy of the `this` object

    - #### withAllComponents

          default IBorderlayout withAllComponents​(java.lang.Iterable<? extends ILayoutRegion> elements)

      Description copied from interface: `IComposite`
      Copy the current immutable object with elements that replace the content of `children`. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Specified by:
        `withAllComponents` in interface `IComposite<IBorderlayout,​ILayoutRegion>`
      Parameters:
        `elements` - An iterable of children elements to set
      Returns:
        A modified copy of `this` object

    - #### isAnimationDisabled

          default boolean isAnimationDisabled()

      Returns whether disable animation effects

      Default: `false`, if the `"org.zkoss.zul.borderlayout.animation.disabled"` library property is not set in zk.xml.

    - #### withAnimationDisabled

          IBorderlayout withAnimationDisabled​(boolean animationDisabled)

      Returns a copy of `this` immutable component with the specified `animationDisabled`.

      Sets to disable animation effects.

      Parameters:
        `animationDisabled` - Whether to disable animation effects.

        Default: `false`

      Returns:
        A modified copy of the `this` object

    - #### of

          static IBorderlayout of​(java.lang.Iterable<? extends ILayoutRegion> children)

      Returns the instance with the given children (i.e. `north`, `south`, `west`, `east`, and `center`). Each region can only be once.
      Parameters:
        `children` - The children belong to any `ILayoutRegion`

    - #### of

          static IBorderlayout of​(ILayoutRegion... children)

      Returns the instance with the given children (i.e. `north`, `south`, `west`, `east`, and `center`). Each region can only be once.
      Parameters:
        `children` - The children belong to any `ILayoutRegion`

    - #### ofSize

          static IBorderlayout ofSize​(java.lang.String width,
                                      java.lang.String height)

      Returns the instance with the given size, width and height.
      Parameters:
        `width` - The width of the component
        `height` - The height of the component

    - #### ofFlex

          static IBorderlayout ofFlex​(java.lang.String hflex,
                                      java.lang.String vflex)

      Returns the instance with the given flex, hflex and vflex.
      Parameters:
        `hflex` - The horizontal flex hint
        `vflex` - The vertical flex hint

    - #### ofId

          static IBorderlayout ofId​(java.lang.String id)

      Returns the instance with the given id.
      Parameters:
        `id` - The id to identify this component