Interface IComponent<M extends IModel>

All Superinterfaces:
IEventChannel
All Known Subinterfaces:
IApplicationEditorComponent, IManagingComponent<M>
All Known Implementing Classes:
AbstractChartReferenceGridComponent, AbstractChoiceParameterLinksComponent, AbstractControlComponent, AbstractDependentProjectWizard.DependedRootObjectPage, AbstractDtActionBarComponent, AbstractDtActionBarHandlerSelectComponent, AbstractDtColorActionBarComponent, AbstractDtComboSelectComponent, AbstractDtEditableComboComponent, AbstractDtListActionBarComponent, AbstractDtReadonlyActionBarComponent, AbstractDtSelectComponent, AbstractDynamicTableComponent, AbstractGridComponent, AbstractGridWithToolbarComponent, AbstractMobileApplicationUrlsComponent, AbstractMultilanguageComponent, AbstractSelectionActionBarComponent, AbstractSelectionComponent, AbstractSelectionFromListDialogComponent, AbstractSelectionFromTreeDialogComponent, AbstractSingleLanguageComponent, AbstractTabFolderComponent, AbstractTypeLinkComponent, AddInUploadButtonsComponent, AdditionSourceSelectionComponent, AdditionTypeSelectionComponent, AddressingAttributesComponent, AdoptedCommonAttributeContentTreeComponent, AdoptedDataPathComponent, AdoptedExchangePlanContentComponent, AdoptedPredefinedDataComponent, AggregatesTableComponent, AllowedIncomingShareRequestTypesComponent, AllowedIncomingShareRequestTypesDialogComponent, AllowedIncomingShareRequestTypesTableComponent, ApplicationEditorComponent, BigDecimalSpinnerComponent, BinaryDataComponent, BooleanComboComponent, ButtonComponent, ButtonDataPathComponent, CaCerticicateSourceTypeComponent, CatalogEditorOwnersPageComponent, CatalogSubordinationUseComponent, ChangeDistributionSettingsDialogComponent, ChangeUserModeDialogComponent, CharacteristicsDescriptionDataPathComboComponent, CharacteristicsDescriptionFieldComboComponent, CharacteristicsDescriptionModelNewWizardPageComponent, CharacteristicsTableComponent, ChartAxisComponent, ChartAxisValueDialogComponent, ChartColorPaletteDescriptionComponent, ChartColorPaletteDescriptionDialogComponent, ChartDescriptorPointComponent, ChartDescriptorSeriesComponent, ChartLabelLocationComponent, ChartLabelTypeComponent, ChartLineComponent, ChartOptionalIntegerComponent, ChartReferenceBandGridComponent, ChartReferenceBandsComponent, ChartReferenceBandsDialogComponent, ChartReferenceBandsDialogComponent.ChartReferenceBandsGridWithToolbarComponent, ChartReferenceLineGridComponent, ChartReferenceLinesComponent, ChartReferenceLinesDialogComponent, ChartReferenceLinesDialogComponent.ReferenceLinesGridWithToolbarComponent, ChartScaleComponent, ChartScaleDialogComponent, ChartTypeComponent, CheckableLabelComponent, CheckBoxComponent, ChoiceFormSelectionComponent, ChoiceListComponent, ChoiceListDialogComponent, ChoiceListDialogContentComponent, ChoiceListGridComponent, ChoiceParameterLinksComponent, ChoiceParametersComponent, CodeComponent, ColorComponent, ComboComponent, ComboLabelComponent, CommandActionExtensionCollectionComponent, CommandChooserComponent, CommonAttributeContentTreeComponent, CommonAttributeDataSeparationComponent, CommonAttributesDataComponent, CommonPictureContentEditComponent, CommonPictureContentTypeCheckableComponent, CommonPictureEntriesComponent, CommonPictureEntriesGridComponent, CommonPictureHeavyComponent, CommonPicturePreviewImageComponent, CommonPicturePreviewImageSizeComponent, Component, CompositeComponent, ConditionalAppearanceComponent, ConfigurationCompatibilityModeComponent, ConfigurationPage, ConfigurationRequiredMobileApplicationPermissionComponent, ConfigurationStandaloneContentComponent, ConfigurationStandaloneContentExchangeSettingsDialogComponent, ConfigurationUsePurposesComponent, ContainerComponent, CustomPaletteComponent, DataExchangeComponent, DataPathComponent, DataSeparatorsComponent, DcsChartReferenceBandGridComponent, DcsChartReferenceBandsDialogComponent, DcsChartReferenceLineGridComponent, DcsChartReferenceLinesDialogComponent, DefinitionDrivenComponent, DependenceOnCalculationTypesComponent, DialogComponent, DialogWithToolbarComponent, DirectorySelectionComponent, DistributionDistributeNavigatorTreeComponent, DistributionSupportNavigatorTreeComponent, DocumentEditorJournalsPageComponent, DocumentEditorPostingPageComponent, DocumentEditorSequencesPageComponent, DoubleSpinnerComponent, DtBorderStyleComponent, DtDateComponent, DtDynamicTableComponent, DtDynamicTreeComponent, DtGranularEditorFunctionalOptionsMdObjectContentComponent, DtGranularEditorFunctionalOptionsPageComponent, DtGranularEditorGenerationBaseComponent, DtGranularEditorGenerationBasisForComponent, DtGranularEditorPageAefComponent, DtGranularEditorPageSectionComponent, DtGranularEditorRecordersPageComponent, DtGranularEditorSubsystemsPageComponent, DtMappedCheckboxComponent, DtPictureComponent, DtTextComponent, DtValueActionBarComponent, EnumComponent, EnumRadioGroupComponent, EventHandlerCollectionComponent, EventHandlerExtensionCollectionComponent, EventSubscriptionEventsComboSelectComponent, EventSubscriptionHandlerSelectComponent, ExchangePlanContentComponent, ExtendedComboLabelComponent, ExtendedConfigurationObjectComponent, ExtendedFieldComponent, ExtendedLabelComponent, ExtendedTypeDescriptionComponent, ExtendedTypeDescriptionMultiStateComponent, FieldComponent, FileSelectionComponent, FilterCriterionEditorContentPageComponent, FontSelectionComponent, FormatStringComponent, FormAttributeComponent, FormCheckBoxKindComponent, FormChildrenAlignComponent, FormChildrenGroupComponent, FormChoiceParameterLinksComponent, FormCommandSetComponent, FormConditionalAppearanceComponent, FormDynamicListComponent, FormItemTypeComponent, FormPagesRepresentationComponent, FormSelectionComponent, FormTypeLinkComponent, FormWizardAttributesPage, FunctionalOptionEditorContentPageComponent, FunctionalOptionsParameterUseComponent, GanttChartBackgroundIntervalsComponent, GanttChartBackgroundIntervalsGridComponent, GanttChartSettingsDialogComponent, GanttChartTimeScaleLevelComponent, GaugeChartQualityBandsComponent, GaugeChartQualityBandsDialogComponent, GaugeChartQualityBandsGridComponent, GeographicalCoordinatesSelectionComponent, GraphicalSchemeEventHandlerComponent, GraphicalSchemeLineComponent, GraphicalSchemePictureSelectionComponent, GraphicalSchemePictureStyleComponent, GridLayoutCompositeComponent, GroupBehaviorComponent, GroupListComponent, HandlerExtensionSelectionComponent, HandlerSelectComponent, HandlerSelectionComponent, HandlerSelectionComponent, HttpServicesComponent, IconLabelComponent, ImageButtonComponent, IndexingComponent, InfobaseAccessSettingsComponent, InfobaseAccessSettingsComponent, InformationRegisterPeriodicityComponent, IntervalBoundComponent, JettyPortNumberComponent, LabelAreaComponent, LabelAreaDialogComponent, LabelComponent, LayerItemsComponent, LegendElementsComponent, LinkComponent, ListSelectionComponent, LongSpinnerComponent, MainDataCompositionSchemeComponent, MainTableTreeToSingleItemSelectionComponent, MarkerTypeComponent, MdModelNewWizardPageComponent, MdPictureComponent, MdPropertyPaletteComponent, MdTypedModelNewWizardPageComponent, MergeSupportRuleSettingsDialogComponent, MinMaxValueComponent, MobileApplicationUrlsComponent, MobileApplicationUrlsDialogComponent, MobileApplicationUrlsTableComponent, MobileCommandBarElementsDialogComponent, MobileCommandBarElementsDialogContentComponent, MobileCommandBarElementsGridComponent, MobileDigiSignComponent, MoxelAreaComponent, MoxelPatternComponent, MoxelSpreadsheetLineComponent, MultilanguageComponent, MultilanguageFormattedTextComponent, NavigatorTableComponent, NavigatorTreeComponent, NavigatorTreeDialogActionBarComponent, NavigatorTreeDialogComponent, NewWizardPageComponent, NotSupportedComponent, NullableSpinnerComponent, NumberCodeMaxLengthSpinnerComponent, NumberMinMaxValueComponent, OpenChartEditorByLinkComponent, OpenDendrogramEditorByLinkComponent, OpenEditorByLinkComponent, OpenEditorInFormByLinkComponent, OpenGanttChartEditorByLinkComponent, OpenGanttChartSettingsEditorByLinkComponent, OpenGeographicalSchemaEditorInFormByLinkComponent, OpenGraphicalSchemeEditorInFormByLinkComponent, OpenMdHelpComponent, OpenMobileCommandBarElementsByLinkComponent, OpenMoxelEditorByLinkComponent, OpenPlannerDimensionsEditorByLinkComponent, OpenSuppressionSettingsEditorByLinkComponent, OpenTimeScaleEditorByLinkComponent, PackageDataComponent, PackageTreeToListSelectionComponent, PackageTreeToSingleItemSelectionComponent, PictureSelectionComponent, PictureSizeComponent, PlannerDimensionsComponent, PlannerDimensionsDialogComponent, PlannerDimensionsGridComponent, PredefinedAccountAccountingFlagsComponent, PredefinedAccountComponent, PredefinedAccountExtDimensionTypesComponent, PredefinedAccountNewWizardPage, PredefinedCalculationTypeCalculationBaseComponent, PredefinedCalculationTypeComponent, PredefinedCalculationTypeNewWizardPage, PredefinedCharacteristicTypeNewWizardPage, PredefinedDataComponent, PredefinedItemNewWizardPage, PropertyPaletteComponent, PublicationLinkComponent, RadioGroupComponent, RadioGroupComponent, RealPiePointComponent, RealStockSeriesComponent, ReportFormSelectionComponent, RequiredPermissionsComponent, RequiredPermissionsDialogComponent, ReturnToComponent, RootObjectPage, ScheduledJobMethodNameComponent, ScrolledCompositeComponent, SearchStringLocationComponent, SectionComponent, SectionDefinitionComponent, SelectableLabelComponent, SemitransparentPercentComboComponent, SeparatorComponent, ShortcutComponent, SignOfUnfilledParentComponent, SingleLanguageFormattedTextComponent, SourceUrlComponent, SpinnerComponent, SpreadSheetDocumentScrollBarComponent, StandardComponent, StandardObjectsTreeComponent, StyleComponent, SubsystemEditorContentPageComponent, SupportLanguagesDialogComponent, SupportRuleSettingsDialogComponent, SuppressionSettingsDialogComponent, TableNameSelectionComponent, TableNameValueSelectionComponent, TextComponent, TextPreviewComponent, TimeScaleDialogComponent, TimeScaleLabelsComponent, TimeScaleLabelsDialogComponent, TimeScaleLabelSelectionComponent, TimeScaleLabelsGridComponent, TimeScaleLevelsComponent, TimeScaleLevelsGridComponent, ToolBarComponent, TreeComponent, TreeToListSelectionComponent, TreeToSingleItemSelectionComponent, TrendlineArrayComponent, TrendlineArrayDialogComponent, TrendlineArrayGridComponent, TypeDescriptionComponent, TypeDescriptionDialogComponent, TypeLinkComponent, TypeNewWizardPageComponent, UnfilledParentComponent, UnsettablePropertyFieldComponent, UsedMobileApplicationFunctionalitiesComponent, UsedMobileApplicationFunctionalitiesDialogComponent, UserRulesComponent, UserSettingsGroupComponent, UserVisibilityComponent, ValueComponent, ValueSelectionComponent, VendorRulesComponent, VersionedEnumComponent, WebServerTypeLabelComponent, WebServerTypeSelectComponent, WebServiceDataComponent, WebServicesComponent, WebSocketClientHeadersComponent, WebSocketClientHeadersDialogComponent, WebSocketClientHeadersTableComponent, XdtoPackagesComponent

public interface IComponent<M extends IModel> extends IEventChannel
Defines contract of a component. Component is a basic building block of a IScene. Scene contains a tree of a components, components produces and maintains a tree of a view models, view models are rendered by the scene renderer.
  • Method Details

    • getScene

      IScene getScene()
      Returns:
      the scene this component belongs to or null if component doesn't belong to a scene yet.
    • setScene

      void setScene(IScene scene)
      Parameters:
      scene - the scene to place this component in.
    • getParent

      IComponent<?> getParent()
      Returns:
      the parent component.
    • setParent

      void setParent(IComponent<?> component)
      Parameters:
      component - a component to set as the parent component.
    • getComponents

      Iterable<IComponent<?>> getComponents()
      Returns:
      the child components of this component.
    • getViewModels

      Iterable<IViewModel> getViewModels()
      Returns:
      the view models produced by this component.
    • setModel

      void setModel(M model)
      Sets the model for this component. Component implementation may also accept the model from a constructor and call this method internally. Attaching listeners to the model should be postponed as long as possible, usually there are two safe points to start model listening: getComponents() or getViewModels() invocation.
      Parameters:
      model - the model to set.
    • getModel

      M getModel()
      Returns:
      the model of this component or null if component has no associated model.
    • commit

      void commit()
      Commits this component changes to the model.
    • areChildCommitsEnabled

      boolean areChildCommitsEnabled()
      Returns:
      true if child commits are allowed, false if child commits are inhibited and this component handles a commit by itself.
    • setChildCommitsEnabled

      void setChildCommitsEnabled(boolean value)
      Parameters:
      value - true to enable child commits, false to disable them.
      See Also:
    • areChildRefreshEnabled

      boolean areChildRefreshEnabled()
      Returns:
      true if child refreshing are allowed, false if child refreshing are inhibited and this component handles a refresh by itself.
    • setChildRefreshEnable

      void setChildRefreshEnable(boolean value)
      Parameters:
      value - true to enable child refreshing, false to disable them.
      See Also:
    • beginExternalUpdate

      void beginExternalUpdate()
      Begins the external update operation. All direct changes of the models associated with this component are marked as ChangeOrigin.External. End the operation with endExternalUpdate() call, external update operations may be nested. All model direct write changes are marked as ChangeOrigin.Internal if no external update is in progress.
    • isInExternalUpdate

      boolean isInExternalUpdate()
      Returns:
      true if external update operation is in progress, false otherwise.
      See Also:
    • endExternalUpdate

      void endExternalUpdate()
      Ends the external update operation.
      See Also:
    • getServiceEventQualifiers

      Collection<IServiceEventQualifier> getServiceEventQualifiers()
      Returns the collection of service event qualifiers that event should be traversed to component from event tracker.
      Returns:
      collection of event qualifiers.
      See Also:
    • dispose

      void dispose()
      Disposes this component, its view models and its child components.
    • isDisposed

      boolean isDisposed()
      Returns:
      true if the component was disposed, false otherwise.