Package org.apache.tapestry5

# Interface SelectModel

All Known Implementing Classes:
  `AbstractSelectModel`, `EnumSelectModel`, `SelectModelImpl`

public interface SelectModel
Defines the possible options and option groups for a <select> [X]HTML element. Primarily used by the `Select` component, but potentially used by anything similar, that needs to present a list of options to the user. Generally paired with a `ValueEncoder` to create client-side representations of server-side values.

See Also:
  - `Palette`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<OptionGroupModel>`
  `getOptionGroups()`
  The list of groups, each containing some number of individual options.
  `List<OptionModel>`
  `getOptions()`
  The list of ungrouped options, which appear after any grouped options.
  `void`
  `visit(SelectModelVisitor visitor)`
  Allows access to all the `OptionGroupModel`s and `OptionModel`s within the SelectModel.

- ## Method Details

  - ### getOptionGroups

    List<OptionGroupModel> getOptionGroups()
    The list of groups, each containing some number of individual options.
    Returns:
      the groups, or null

  - ### getOptions

    List<OptionModel> getOptions()
    The list of ungrouped options, which appear after any grouped options. Generally, a model will either provide option groups or ungrouped options, but not both.
    Returns:
      the ungrouped options, or null

  - ### visit

    void visit(SelectModelVisitor visitor)
    Allows access to all the `OptionGroupModel`s and `OptionModel`s within the SelectModel.