Interface IComponent

All Superinterfaces:
IInitializable
All Known Subinterfaces:
IAccessMechanics, IAccessPolicy, IAccessService, IAliasCache, IAliasMechanics, IAliasPolicy, IAliasPolicy2, IAliasService, IAuditManager, IAuthHandler, IAuthManager, IBasicMechanics, IBasicPolicy, IBizPolicy, IBizPolicyManager, IBizPolicyResolver, IBundleManager, ICache, ICacheManager, ICachePolicy, ICafAppConfig, IClassCache, IClassManager, IClassManagerMechanics, IClassManagerPolicy, IClipboardMechanics, IClusterPartitionProvider, IClusterProvider, ICommand, ICommandManager, ICommandResolver, IComponentProvider, IConnectionManagerMechanics, IConnectionManagerPolicy, IContainerContentConstraintMechanics, IContainerMechanics, IContainerPolicy, IContentManager, IContentMechanics, IContentService, IContextMechanics, IContextPolicy, IContextProvider, IDBCache, IDependentCache, IDirService, IDirServiceBizPolicy, IDirServiceMechanics, IDirSystem, IDirSystemBizPolicy, IDirSystemManagementObject, IDirSystemMechanics, IDispatchHandler, IDispatchManager, IDispatchPostProcessor, IDispatchPreProcessor, IDispatchRedirectProcessor, IDispatchResolver, IErrorManager, IFolderMechanics, IGdprConfigService, IGlobalProvider, IGroupBizPolicy, IGroupMechanics, IHandler, IInstallMechanics, IInstallPolicy, IInstallProvider, IInstallService, ILanguagePack, ILanguagePackManager, ILicenseMechanics, ILicensePolicy, ILicenseProvider, ILinkMechanics, ILocalePortletMechanics, IMailUtil, IManager, IMechanics, IMechanicsManager, IMechanicsResolver, IMessageCategoryProvider, IMessageFormatter, IMetaComponent, IMetaContext, IMetaEventService, IMetaManager, IMetaQueryService, IMetaViewService, IPartition, IPhase, IPhaseProvider, IPortalMechanics, IPortalRulesMechanics, IPortalServlet, IPortletApplication, IPortletContainer, IPortletMechanics, IPortletPolicy, IPortletProvider, IPortletProviderMechanics, IPortletType, IPortletWebManager, IPresentationCacheMechanics, IPresentationHandler, IPresentationHook, IPresentationManager, IPrincipalAttributeBizPolicy, IPrincipalAttributeMechanics, IPrincipalAttributeProvider, IPrincipalAttributeProviderEx, IPrincipalBizPolicy, IPrincipalMechanics, IPropertyEditor, IPropertyEditorManager, IRelationService, IRemoteAliasMechanics, IRemoteCommandTransport, IRenderer, IResourceLoader, IRoleMechanics, IRoleProvider, IRuleMechanics, ISamlSecurityService, ISchedpubPolicy, IScheduleMechanics, ISchedulePolicy, ISearchAndFilterMechanics, ISecurityService, ISecurityServiceMechanics, ISegment, IServer, IServiceThingService, ISessionHandler, ISessionHook, ISessionManager, IShellMechanics, ISkinComponentMechanics, ISkinMechanics, ISQLMechanics, ISQLPolicy, ISubRenderer, ISubscribableMechanics, ISubscriptionPolicy, ISubscriptionService, ISystemHandler, ISystemMechanics, ISystemPolicy, ITaskAuditService, ITaskBizPolicy, ITaskComponent, ITaskConnectivityService, ITaskDefinitionService, ITaskDistributionService, ITaskFormFlowService, ITaskMechanics, ITaskMonitoringService, ITaskProcessAuditService, ITaskScheduleMechanics, ITaskService, ITaskSystem, ITaskVotingService, ITemplateMechanics, IThingCache, IThingComponentProvider, IThingIDService, IThingService, ITimedCache, ITopicMechanics, ITopicSpaceMechanics, ITopicSpacePolicy, ITOTPConfigService, ITypeService, IUserBizPolicy, IUserMechanics, IUserPrivacyService, IUserService, IVersionableMechanics, IVersionPolicy, IVersionProvider, IVersionService, IVersionServiceMechanics, IViewableContainerMechanics, IViewableContainerPolicy, IViewableMechanics, IViewablePolicy, IWatchService, IWebApplication, IWebAppMechanics, IWebAppRuntimeConfigManager, IWebSpaceMechanics, IWebSpacePolicy, IXTypeMechanics, TaskCommandJMS
All Known Implementing Classes:
BaseComponent, Handler, TaskIndexEngineFactoryInitializer

public interface IComponent extends IInitializable

IComponent is a base interface that describes a singleton type of programming logic. This is not to be confused with data structures that hold resource information, like IThings or IViews. Instead, an IComponent represents business logic that operates on those portal resources.

The IComponent interface is a singleton object managed by a IComponentProvider, and is therefore expected to be reentrant and multi-threaded. They are automatically clustered throughout the system, and because they don't contain instance based data, they feel a bit like SessionEJBs.

An IComponent is managed by an IComponentProvider, and through the IComponentProvider you may gain access to the specified IComponent.

IComponent's maintain their metadata in a companion object: IComponentData. The IComponentProvider is responsible for properly initializing the IComponent's IComponentData and IComponentProvider fields. Also, because the metadata is stored in the IComponentData, the IComponent isn't responsible for storing its own metadata.

  • Method Details

    • getURI

      IURI getURI()
      Every IComponent has a unique IURI.
      Returns:
      retrieves the unique IURI for this component.
    • getComponentName

      String getComponentName()
      Get the common name of this component.
      Returns:
      the identifying name of this component
    • getComponentData

      IComponentData getComponentData()
      Gets the IComponentData which represents the metadata for this IComponent.
      Returns:
      a IComponentData
    • setComponentData

      void setComponentData(IComponentData componentData)

      Set the IComponentData for this component. Typically called at initialization by the IComponentProvider.

      Note, this should only be used by IComponentProviders and only under extreme caution

    • setComponentProvider

      void setComponentProvider(IComponentProvider componentProvider)

      Set the IComponentProvider for this component. Typically called at initialization by the IComponentProvider.

      Note, this should only be used by IComponentProviders and only under extreme caution

    • isInitialized

      boolean isInitialized(int phase)
      Check to see if object has been initialized
      Parameters:
      phase - optional for multi-phase init, pass IPhase.UNK_PHASE to ignore
      Returns:
      true if initialized, false otherwise
    • getComponentProvider

      IComponentProvider getComponentProvider()
      Retrieves the IComponentProvider that manages this component.
      Returns:
      the managing IComponentProvider