The UIComponent Class
An abstract class that defines what it means to be a component.
Each component manages:
- A list of child components (e.g. the columns of a data table)
- A map of facet components (e.g. the header/footer of a data
table)
- A map of attributes, or arbitrary key/value pairs
- A map of value expressions
(e.g. "#{cardExpirationDate.month}")
- A collection of listeners (see chapter 7)