Interface IGenericComponent<T,C extends IGenericComponent<? super T,?>>

Type Parameters:
T - the type of the model object
C - the type of the component
All Known Implementing Classes:
AbstractChoice, AbstractOptions, AbstractSingleSelectChoice, AbstractTextComponent, AbstractTree, AjaxButton, AjaxCheckBox, AjaxEditableChoiceLabel, AjaxEditableLabel, AjaxEditableMultiLineLabel, AjaxFallbackButton, AjaxFallbackLink, AjaxLink, AjaxOrderByLink, AjaxPagingNavigationIncrementLink, AjaxPagingNavigationLink, AutoCompleteTextField, AutoLinkResolver.AutolinkBookmarkablePageLink, BookmarkablePageLink, BranchItem, BreadCrumbLink, BreadCrumbPanelLink, BrowserInfoForm, Button, CancelButton, Check, CheckBox, CheckBoxMultipleChoice, CheckGroup, Choices, DateTextField, DefaultCssAutoCompleteTextField, DefaultNestedTree, DefaultTableTree, DownloadLink, DropDownChoice, DummyHomePage.TestLink, EmailTextField, EnhancedPageView, EnumLabel, FileUploadField, FilterForm, FinishButton, Form, FormComponent, FormComponentPanel, GenericPanel, GenericWebMarkupContainer, GenericWebPage, GroupedDropDownChoice, HiddenField, ImageButton, Include, IndicatingAjaxButton, IndicatingAjaxFallbackLink, IndicatingAjaxLink, Item, LastButton, Link, ListChoice, ListItem, ListMultipleChoice, LocalDateTextField, LocalDateTimeField, LocalDateTimeTextField, LocalTimeTextField, MultiFileUploadField, NestedTree, NextButton, NumberTextField, OddEvenItem, OddEvenListItem, OrderByLink, PagingNavigationIncrementLink, PagingNavigationLink, Palette, PasswordTextField, PersistedPanel, PopupCloseLink, PreviousButton, Radio, RadioChoice, RadioGroup, RangeTextField, Recorder, RequiredTextField, ResourceLink, Select, Selection, SelectOption, SignInPanel.SignInForm, StatelessForm, StatelessLink, TableTree, TextArea, TextField, TimeField, UrlTextField, WizardButton, ZonedDateTimeField

public interface IGenericComponent<T,C extends IGenericComponent<? super T,?>>
An interface for all components with type-safe accessors and mutators for the model and its object.

Usage:
public class MyComponent<T> extends AnotherComponent implements IGenericComponent<T, MyComponent<T>> { ... }