Interface IMetadataContext<B,R extends IMetadataContext<B,R>>

Type Parameters:
B - The base type the metadata object must extend. (e.g. Serializable)
R - The type of the implementing object.
All Known Implementing Classes:
AbstractAuthenticatedWebSession, AbstractCheckSelector, AbstractChoice, AbstractDataGridView, AbstractErrorPage, AbstractFilter, AbstractItem, AbstractLink, AbstractOptions, AbstractOutputTransformerContainer, AbstractPageableView, AbstractRepeater, AbstractSingleSelectChoice, AbstractSubmitLink, AbstractTextComponent, AbstractToolbar, AbstractTree, AccessDeniedPage, AjaxButton, AjaxCheckBox, AjaxEditableChoiceLabel, AjaxEditableLabel, AjaxEditableMultiLineLabel, AjaxFallbackButton, AjaxFallbackDefaultDataTable, AjaxFallbackHeadersToolbar, AjaxFallbackLink, AjaxFallbackOrderByBorder, AjaxLazyLoadPanel, AjaxLink, AjaxListPanel, AjaxNavigationToolbar, AjaxOrderByLink, AjaxPagingNavigation, AjaxPagingNavigationIncrementLink, AjaxPagingNavigationLink, AjaxPagingNavigator, AjaxSubmitLink, AjaxTabbedPanel, AjaxWizardButtonBar, Application, ApplicationView, Audio, AuthenticatedWebApplication, AuthenticatedWebSession, AutoCompleteTextField, AutoLabelResolver.AutoLabel, AutoLinkResolver.AutolinkBookmarkablePageLink, BaseWicketTester.StartComponentInPage, Body, BookmarkablePageLink, Border, Border.BorderBodyContainer, BorderPanel, BranchItem, BreadCrumbBar, BreadCrumbBar.BreadCrumbsListView, BreadCrumbLink, BreadCrumbPanel, BreadCrumbPanelLink, BrowserInfoForm, BrowserInfoPage, Button, CancelButton, Check, CheckBox, CheckBoxMultipleChoice, CheckboxMultipleChoiceSelector, CheckBoxSelector, CheckedFolder, CheckFolder, CheckGroup, CheckGroupSelector, ChoiceFilter, Choices, ClientSideImageMap, ColGroup, ColGroup.Col, Component, ComponentFeedbackPanel, ContextImage, DataGridView, DataTable, DataTable.Caption, DataView, DataViewBase, DateTextField, DebugBar, DefaultCssAutoCompleteTextField, DefaultDataTable, DefaultNestedTree, DefaultTableTree, DevUtilsPage, DevUtilsPanel, DownloadLink, DropDownChoice, DummyHomePage, DummyHomePage.TestLink, DummyPanelPage, DynamicWizardStep, EmailTextField, EmptyPanel, Enclosure, EnclosureContainer, EnhancedPageView, EnumLabel, ExceptionErrorPage, ExportToolbar, ExternalImage, ExternalLink, ExternalSource, FeedbackPanel, FencedFeedbackPanel, FileUploadField, FilterForm, FilterToolbar, FinishButton, Folder, Form, FormComponent, FormComponentFeedbackBorder, FormComponentFeedbackIndicator, FormComponentLabel, FormComponentPanel, Fragment, GenericPanel, GenericWebMarkupContainer, GenericWebPage, GoAndClearFilter, GoFilter, GridView, GroupedDropDownChoice, HeaderPartContainer, HeaderResponseContainer, HeadersToolbar, HiddenField, HtmlHeaderContainer, HtmlHeaderItemsContainer, Image, ImageButton, Include, IndicatingAjaxButton, IndicatingAjaxFallbackLink, IndicatingAjaxLink, InlineEnclosure, InlineFrame, InlineImage, InspectorDebugPanel, InspectorPage, InternalErrorPage, Item, KittenCaptchaPanel, Label, LabeledWebMarkupContainer, LastButton, Link, ListChoice, ListItem, ListMultipleChoice, ListView, LiveSessionsPage, LocalDateTextField, LocalDateTimeField, LocalDateTimeTextField, LocalTimeTextField, Loop, LoopItem, MarkupContainer, MediaComponent, MockApplication, MockHomePage, ModalDialog, MultiFileUploadField, MultiLineLabel, NavigationToolbar, NavigatorLabel, NestedTree, NextButton, Node, NoFilter, NonCachingImage, NoopOutputTransformerContainer, NoRecordsToolbar, NumberTextField, OddEvenItem, OddEvenListItem, OrderByBorder, OrderByLink, Page, PageableListView, PageExpiredErrorPage, PageStoreDebugPanel, PageStorePage, PageView, PagingNavigation, PagingNavigationIncrementLink, PagingNavigationLink, PagingNavigator, Palette, Panel, PasswordTextField, PersistedPanel, Picture, PopupCloseLink, PopupCloseLink.ClosePopupPage, PreviousButton, PropertyListView, Radio, RadioChoice, RadioGroup, RangeTextField, RatingPanel, Recorder, RedirectPage, RefreshingView, RepeatingView, RequestCycle, RequestsPage, RequiredTextField, ResourceLink, Select, Selection, SelectOption, SelectOptions, Session, SessionSizeDebugPanel, SessionView, SignInPage, SignInPanel, SignInPanel.SignInForm, SignOutPage, SimpleFormComponentLabel, SmartLinkLabel, SmartLinkMultiLineLabel, Source, Source, StandardDebugPanel, StatelessForm, StatelessLink, StaticContentStep, StyledLinkLabel, SubmitLink, Subtree, TabbedPanel, TableTree, TextArea, TextField, TextFilter, TimeField, Track, TransparentWebMarkupContainer, UploadProgressBar, UrlTextField, Video, WebApplication, WebComponent, WebMarkupContainer, WebPage, WebSession, Wizard, WizardButton, WizardButtonBar, WizardStep, XsltOutputTransformerContainer, ZonedDateTimeField

public interface IMetadataContext<B,R extends IMetadataContext<B,R>>
Used to unify all metadata methods across the various objects.

This allows for metadata to be mutated at arms length without dealing with the intricacies of each type that implements it.

Due to the inability to refer to implementing types (e.g. Self in Rust) we use the R parameter to return the type of the implementing object.

Author:
Jezza
See Also: