Class ContributedIndexDefinition

java.lang.Object
io.jmix.search.index.mapping.ContributedIndexDefinition

@NullMarked public class ContributedIndexDefinition extends Object
An index definition provided by an IndexDefinitionContributor.

Instances should be built using builder(String, MappingDefinition).

The index name, the extended search settings and the indexable predicate are used only when the contribution creates a new index configuration. When the entity also has an annotated Java definition, the values of the Java definition are kept.

  • Field Details

    • entityName

      protected final String entityName
    • mappingDefinition

      protected final MappingDefinition mappingDefinition
    • indexName

      protected final @Nullable String indexName
    • extendedSearchSettings

      protected final ExtendedSearchSettings extendedSearchSettings
    • indexablePredicate

      protected final Predicate<Object> indexablePredicate
  • Constructor Details

  • Method Details

    • builder

      public static ContributedIndexDefinition.Builder builder(String entityName, MappingDefinition mappingDefinition)
      Creates a builder of a definition.
      Parameters:
      entityName - Jmix entity name
      mappingDefinition - the fields to index
      Returns:
      builder
    • getEntityName

      public String getEntityName()
      Returns:
      Jmix entity name
    • getMappingDefinition

      public MappingDefinition getMappingDefinition()
      Returns:
      the fields to index
    • getIndexName

      public @Nullable String getIndexName()
      Returns:
      explicit index name, or null to derive it from the entity name
    • getExtendedSearchSettings

      public ExtendedSearchSettings getExtendedSearchSettings()
      Returns:
      extended search settings of the index; disabled unless set in the builder
    • getIndexablePredicate

      public Predicate<Object> getIndexablePredicate()
      Returns:
      predicate that decides whether an instance is indexed; accepts every instance unless set in the builder