Interface ICustomDataProvider

All Known Subinterfaces:
IContentItem, IEUIComp, IEUICompCommon, IEUIContainer, IEUIPanel, IUIAction, IUIAnimatedSingleIndexedSelectionComp, IUIBooleanSelectionComp, IUICellSelectionComp, IUICheck2Component, IUICheckComponent, IUIComp, IUICompRelativeTarget, IUIContainer, IUIDateTimeComponent, IUIDateValueComponent, IUIDoubleRangeValueComponent, IUIDoubleValueComponent, IUIHint, IUIIndexedSelectionComp, IUILabelForTarget, IUINullableValueComponent, IUIRadioComponent, IUISelectionComp, IUISingleIndexedSelectionComp, IUITimeValueComponent, IUITriStateSelectionComp, IUIValueComponent, IVSComponent, IVSMessageComponent
All Known Implementing Classes:
AbstractContentUIContainer, AbstractUIAction, CalendarEvent, ECalendarEvent, EditorVirtualSpace, EditorVSAction, EditorVSColumnHeader, EditorVSField, EditorVSGroup, EditorVSRow, EditorVSTable, EMapMarkerProp, EMapMarkers, EMLGroup, EMList, EMLItemProp, EMUIHeading, EMUISimpleDialog, EMUISwitch, EMUITabBar, EUIAccordion, EUIButton, EUICalendar, EUICalendarList, EUIChart, EUICheckBox, EUICheckedMenuItem, EUIComboBox, EUIContainer, EUIContextMenu, EUIDateTime, EUIDialog, EUIEmpty, EUIGauge, EUIImage, EUIImage2, EUILabel, EUIMap, EUIMedia, EUIMenu, EUIMenuBar, EUIMenuItem, EUIMenuSeparator, EUIOutput, EUIPanel, EUIPanelPart, EUIPanelPartCnr, EUIProgress, EUIRadioButton, EUIRadioMenuItem, EUISlider, EUISpinner, EUISwapContainer, EUITabContainer, EUITable, EUITableColumn, EUIText, EUITextArea, EUITitlePane, MapMarkerProp, MapMarkers, MLCheckBox, MLComboBox, MLDateTime, MLGroup, MList, MLItem, MLItemProp, MLRadioButton, MLSimple, MLSlider, MLSpinner, MLSwitch, MLText, MUIHeading, MUISimpleDialog, MUISwitch, MUITabBar, UIAbstractListChoice, UIAccordion, UIButton, UICalendar, UICalendarList, UIChart, UICheckBox, UICheckedMenuItem, UIComboBox, UIComp, UIContainer, UIContextMenu, UIDateTime, UIDialog, UIEmpty, UIGauge, UIImage, UIImage2, UILabel, UIMap, UIMedia, UIMenu, UIMenuBar, UIMenuItem, UIMenuSeparator, UIOutput, UIPanel, UIPanelBase, UIPanelPart, UIPanelPartCnr, UIProgress, UIRadioButton, UIRadioMenuItem, UISlider, UISpinner, UISwapContainer, UITabContainer, UITable, UITableColumn, UIText, UITextArea, UITitlePane, VirtualSpace, VSAction, VSColumnHeader, VSComponent, VSField, VSGroup, VSRow, VSTable

public interface ICustomDataProvider
Interface providing a storage mechanism of custom values on various objects and properties over the system. The custom data is not processed by the framework in any way, it merely keeps track of it. Cloned objects or properties do not clone the data.

The methods in this interface are thread safe, EXCEPT the deprecated forbiddenGetCustomDataMap(boolean) method that SHOULD NOT BE CALLED.

Author:
Christopher Mindus
  • Method Details

    • forbiddenGetCustomDataMap

      @Deprecated Map<String,Object> forbiddenGetCustomDataMap(boolean doCreate)
      Deprecated.
      Gets or creates the provider map. This method is not intended to be called by user code, it is used by the system.

      Do not call this method!

      Parameters:
      doCreate - Creates the map if required.
      Returns:
      The map or newly created map, null if not created.

      Note: the map returned is NOT synchronized thus not thread safe. It is up to the caller to synchronize on it to ensure thread safety.

    • putCustomData

      default Object putCustomData(String name, Object value)
      Puts a custom data value with the specified name. This property can overwrite any existing value. If this is the case, that value is returned.
      Parameters:
      name - The name of the custom data to ut.
      value - The value to set, null to clear the named custom data value, and return any cleared existing value.
      Returns:
      Any existing overwritten value, null for no previous value.
    • putCustomDataIfAbsent

      default Object putCustomDataIfAbsent(String name, Object value)
      Puts a custom data value with the specified name if an existing entry is not present. If an existing value is present, that value is returned and nothing is put.
      Parameters:
      name - The name of the custom data to put.
      value - The value to set, null to clear the named custom data value, and return any cleared existing value.
      Returns:
      Any existing value, null for no previous value indicating that the value was put successfully.
    • getCustomData

      default <T> T getCustomData(String name, Class<T> valueClass)
      Gets a custom data value with the specified name and a specific valueClass. If an existing value is present of the matching class, that value is returned, otherwise null is returned.
      Parameters:
      name - The name of the custom data to retrieve.
      valueClass - The value class requested upon return.
      Returns:
      The retrieved value if existing and of the matching valueClass, or null if the value was not found by that name, or if the valueClass did not match the existing value in the custom data.