# Interface ButtonList.Decorator<M, V extends Component>

Enclosing class:
  `ButtonList`

public static interface ButtonList.Decorator<M, V extends Component>

An interface that can be implemented to provide custom decoration/undecoration of the buttons as they are created/removed. This will allow you to do things like add custom icons or styles to the buttons.

##### Parameters

- `The`: type used for the model item.

- `The`: @param The type used for the view. For RadioList T would be RadioButton. For CheckBoxList, T would be CheckBox. For SwitchList it's different because the Switch uses a wrapper component.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `decorate(M modelItem, V viewItem)`
  `void`
  `undecorate(V viewItem)`

- ## Method Details

  - ### decorate

    void decorate(M modelItem, V viewItem)

  - ### undecorate

    void undecorate(V viewItem)