Interface Descriptor

All Known Subinterfaces:
ActionFilter, OperationDescriptor, PageProviderClassReplacerDefinition, PageProviderDefinition, Processor, Resource, ResourceBundle
All Known Implementing Classes:
Action, ActiveFileSystemItemFactoriesDescriptor, ActiveTopLevelFolderItemFactoryDescriptor, AdapterDescriptor, AuditBackendFactoryDescriptor, AuditRouteDescriptor, AuditRouteDescriptor.EventDescriptor, AuditRouteDescriptor.PredicateDescriptor, AuthenticationChainDescriptor, AuthenticationPluginDescriptor, AutomaticVideoConversion, AutomationFilterDescriptor, AvroMapperDescriptor, AvroReplacementDescriptor, AvroSchemaDescriptor, AvroSchemaFactoryDescriptor, AWSConfigurationDescriptor, BatchHandlerDescriptor, BlobDispatcherDescriptor, BlobProviderDescriptor, BulkActionDescriptor, CacheDescriptor, ChainExceptionDescriptor, ChangeFinderDescriptor, CheckFileInfoUpdaterDescriptor, ClassFilterDescriptor, ClusterNodeDescriptor, CodecDescriptor, CodecDescriptor, CommandLineDescriptor, CommandTesterDescriptor, ConfigurationPropertyDescriptor, ContentFactoryDescriptor, ContextExtensionFactoryDescriptor, ContextHelperDescriptor, ConvertCacheDescriptor, CoreQueryPageProviderDescriptor, CreationContainerListProviderDescriptor, DBSRepositoryDescriptor, DefaultActionFilter, DefaultRenditionDescriptor, DomainEventProducerDescriptor, DownloadPermissionDescriptor, EnvironmentDescriptor, EventDescriptor, EventDispatcherDescriptor, EventHandler, EventPipeDescriptor, ExtendedInfoDescriptor, FactoryBindingDescriptor, FileImporterDescriptor, FileSystemItemFactoryDescriptor, FilterConfigDescriptor, FolderImporterDescriptor, FreemarkerSettingDescriptor, GeneralSettingsDescriptor, GenericPageProviderDescriptor, ImagingConfigurationDescriptor, JWTServiceConfigurationDescriptor, KafkaConfigDescriptor, KeyDescriptor, KeyValueStoreDescriptor, LDAPServerDescriptor, LifeCycleDescriptor, LifeCycleTypesDescriptor, LockManagerDescriptor, LogConfigDescriptor, LogConfigDescriptor.LogDescriptor, LogConfigDescriptor.LogMatchDescriptor, LoginAsDescriptor, LoginProviderLink, LoginScreenConfig, LoginStartupPage, MailSenderDescriptor, MarshallerDescriptor, MarshallerRegistryDescriptor, MemRepositoryDescriptor, MetadataMappingDescriptor, MetadataProcessorDescriptor, MetadataRuleDescriptor, MetricsConfigurationDescriptor, MetricsConfigurationDescriptor.FilterDescriptor, MetricsConfigurationDescriptor.InstrumentDescriptor, MetricsReporterDescriptor, MigrationDescriptor, MigrationDescriptor.MigrationStateDescriptor, MigrationDescriptor.MigrationStepDescriptor, MongoDBAuditBackendDescriptor, MongoDBConnectionConfig, MongoDBRepositoryDescriptor, NotificationListenerHookDescriptor, NotificationListenerVetoDescriptor, NuxeoCmisServiceFactoryDescriptor, NuxeoCorsFilterDescriptor, NuxeoHeaderDescriptor, OAuth2ServiceProviderDescriptor, OpenIDConnectProviderDescriptor, OpenSearchAuditBackendDescriptor, OpenSearchClientConfig, OpenSearchEmbedServerConfig, OpenSearchHintDescriptor, OpenSearchIndexConfig, OpenSearchSearchClientDescriptor, OpenSearchSearchClientDescriptor.SearchIndex, OpenUrlDescriptor, OperationChainContribution, OperationContribution, OutputFormatDescriptor, PageProviderClassReplacerDescriptor, PageProviderDefinitionBuilder.PageProviderDefinitionImpl, PersisterDescriptor, PictureConversion, PostContentCreationHandlerDescriptor, ProcessorDescriptor, PropertiesMappingDescriptor, PropertyDescriptor, PubSubProviderDescriptor, QuotaStatsUpdaterDescriptor, RedirectResolverDescriptor, RenditionDefinition, RenditionDefinitionProviderDescriptor, RenditionTargetDocTypeDescriptor, RepositoryDescriptor, RepositorySearchClientDescriptor, ResourceBundleDescriptor, ResourceDescriptor, RestBinding, RouteModelResourceType, ScheduleImpl, ScriptingOperationDescriptor, ScrollDescriptor, SearchClientDescriptor, SearchIndexDescriptor, SearchServicePageProviderDescriptor, SerializerDescriptor, ServiceConfigurationDescriptor, SessionManagerDescriptor, SpecificAuthChainDescriptor, StartURLPatternDescriptor, StoredRenditionManagerDescriptor, StreamProcessorDescriptor, StreamProcessorDescriptor.ComputationDescriptor, StreamProcessorDescriptor.FilterDescriptor, StreamProcessorDescriptor.PolicyDescriptor, StreamProcessorDescriptor.StreamDescriptor, SuggesterDescriptor, SuggesterGroupDescriptor, TargetDescriptor, TargetPackageDescriptor, TargetPlatformDescriptor, TemplateDescriptor, TemplateProcessorDescriptor, TopLevelFolderItemFactoryDescriptor, TransientDataStoreDescriptor, TransientStoreConfig, Type, TypeAdapterContribution, UnicityExtension, VersioningFilterDescriptor, VersioningPolicyDescriptor, VersioningRestrictionDescriptor, VersioningServiceDescriptor, VideoConversion, WorkQueueDescriptor, WorkQueuingDescriptor

public interface Descriptor
Descriptors implementing this interface will automatically be registered within the default registry in DefaultComponent.
Since:
10.3
  • Field Details

  • Method Details

    • getId

      String getId()
      The descriptor id, descriptors with same id are merged.

      To forbid multiple descriptors use UNIQUE_DESCRIPTOR_ID.

      To forbid merge use a unique value, non-overridden toString() for example.

    • getCopyId

      default String getCopyId()
      Returns the descriptor id to copy for the current descriptor.

      The method returns null by default, this disables the copy mechanism.

      Returns:
      the descriptor id to copy
      Since:
      2025.18
    • copy

      default Descriptor copy(Descriptor other)
      Parameters:
      other - the descriptor to copy, its id is the one returned by getCopyId() of the current descriptor
      Returns:
      a descriptor representing other copied into this
      Since:
      2025.18
      Implementation Note:
      The default implementation delegates to merge(Descriptor) by calling other.merge(this). Since merge(Descriptor) treats its argument as taking precedence over the receiver, this uses other as the base and overlays this on top. As a consequence, merge(Descriptor) implementations must handle the id field (e.g. with getIfNull) so the returned descriptor retains this's id rather than other's.
    • merge

      default Descriptor merge(Descriptor other)
      Returns a descriptor representing other merged into this

      Default implementation returns other.

      Returns:
      the merged descriptor
    • doesRemove

      default boolean doesRemove()
      During merge if a descriptor whose doesRemove() returns true is encountered, the merge chain is reset and started again on next descriptor.

      If the last descriptor of same id doesRemove() return true, the descriptor for this id will be null.

    • merge

      static <D extends Descriptor> List<D> merge(List<D> other, List<D> current)
      Merges two lists of Descriptor.
      Since:
      2025.18
    • merge

      static <D extends Descriptor> Map<String,D> merge(Map<String,D> other, Map<String,D> current)
      Merges two maps of Descriptor.
      Since:
      2025.18