Package org.zkoss.stateless.sul

## Interface IChildable<R,​I extends IComponent>

- All Known Subinterfaces:
    `IA<I>`, `IAbsolutechildren<I>`, `IAbsolutelayout`, `IAnchornav<I>`, `IAudio`, `IAuxhead`, `IAuxheader<I>`, `IBandpopup<I>`, `ICaption<I>`, `ICardlayout<I>`, `ICell<I>`, `ICoachmark<I>`, `IColumn<I>`, `IColumnchildren<I>`, `IColumnlayout`, `IColumns`, `ICombobox`, `IDetail<I>`, `IDiv<I>`, `IDrawer<I>`, `IFisheyebar`, `IFoot`, `IFooter<I>`, `IFrozen<I>`, `IGoldenLayout`, `IGoldenPanel<I>`, `IGroup<I>`, `IGroupbox<I>`, `IGroupfoot<I>`, `IHlayout<I>`, `IImagemap`, `IInputgroup`, `ILineitem<I>`, `ILinelayout`, `IListbox`, `IListcell<I>`, `IListfoot`, `IListfooter<I>`, `IListgroup`, `IListgroupChild<I>`, `IListgroupfoot`, `IListgroupfootChild<I>`, `IListhead`, `IListheader<I>`, `IListitem`, `IMenubar`, `IMenupopup`, `IMultislider`, `INav`, `INavbar`, `IOrganigram`, `IOrgchildren`, `IOrgnode<I>`, `IPanelchildren<I>`, `IPopup<I>`, `IPortalchildren`, `IPortallayout`, `IRadiogroup<I>`, `IRow<I>`, `IRowlayout`, `IRows`, `IScrollview<I>`, `ISpan<I>`, `ISplitlayout<I>`, `IStepbar`, `ITablechildren<I>`, `ITablelayout`, `ITabpanel<I>`, `ITabpanels`, `ITabs`, `IToolbar<I>`, `ITreecell<I>`, `ITreechildren`, `ITreecol<I>`, `ITreecols`, `ITreefoot`, `ITreefooter<I>`, `ITreerow`, `IVideo`, `IVlayout<I>`, `IWindow<I>`

      public interface IChildable<R,​I extends IComponent>

  An interface to indicate any child is allowed for `IComponent`.
  Author:
    jumperchen

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.List<I>` | `getChildren()` | Returns the children of this component.
    `default R` | `withChildren​(I... elements)` | Copy the current immutable object with elements that replace the content of `children`.
    `R` | `withChildren​(java.lang.Iterable<? extends I> elements)` | Copy the current immutable object with elements that replace the content of `children`.

- - ### Method Detail

    - #### getChildren

          java.util.List<I> getChildren()

      Returns the children of this component.

    - #### withChildren

          R withChildren​(java.lang.Iterable<? extends I> elements)

      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`.
      Parameters:
        `elements` - An iterable of children elements to set
      Returns:
        A modified copy of `this` object

    - #### withChildren

          default R withChildren​(I... elements)

      Copy the current immutable object with elements that replace the content of `children`.
      Parameters:
        `elements` - The children elements to set
      Returns:
        A modified copy of `this` object