Interface IndexCompositeNodeBuilder

All Superinterfaces:
IndexSchemaBuildContext
All Known Subinterfaces:
IndexObjectFieldBuilder, IndexRootBuilder

public interface IndexCompositeNodeBuilder extends IndexSchemaBuildContext
  • Method Details

    • addField

      <F> IndexSchemaFieldOptionsStep<?,IndexFieldReference<F>> addField(String relativeFieldName, TreeNodeInclusion inclusion, IndexFieldType<F> indexFieldType)
      Create a new field and add it to the current builder.
      Type Parameters:
      F - The type of values for the new field
      Parameters:
      relativeFieldName - The relative name of the new field
      inclusion - Whether fields matching this template should be included, provided their parent is included.
      indexFieldType - The type of the new field
      Returns:
      A DSL step where the field can be defined in more details.
    • addNamedPredicate

      IndexSchemaNamedPredicateOptionsStep addNamedPredicate(String relativeNamedPredicateName, TreeNodeInclusion inclusion, PredicateDefinition definition)
      Create a new named predicate and add it to the current builder.
      Parameters:
      relativeNamedPredicateName - The relative name of the new named predicate.
      inclusion - Whether fields matching this template should be included, provided their parent is included.
      definition - The definition of the named predicate.
      Returns:
      A DSL step where the named predicate can be defined in more details.
    • addObjectField

      IndexObjectFieldBuilder addObjectField(String relativeFieldName, TreeNodeInclusion inclusion, ObjectStructure structure)
      Create a new object field and add it to the current builder.
      Parameters:
      relativeFieldName - The relative name of the new object field
      inclusion - Whether fields matching this template should be included, provided their parent is included.
      structure - The structure of the new object field
      Returns:
      A builder for the new object field
    • addFieldTemplate

      IndexSchemaFieldTemplateOptionsStep<?> addFieldTemplate(String templateName, TreeNodeInclusion inclusion, IndexFieldType<?> indexFieldType, String prefix)
      Create a new field template and add it to the current builder.
      Parameters:
      templateName - The name of the new template
      inclusion - Whether fields matching this template should be included, provided their parent is included.
      indexFieldType - The type of the new field template
      prefix - A prefix to prepend to the glob pattern and to field paths passed to DocumentElement.addValue(String, Object).
      Returns:
      A DSL step where the field template can be defined in more details.
    • addObjectFieldTemplate

      IndexSchemaFieldTemplateOptionsStep<?> addObjectFieldTemplate(String templateName, ObjectStructure structure, String prefix, TreeNodeInclusion inclusion)
      Create a new object field template and add it to the current builder.
      Parameters:
      templateName - The name of the new template
      structure - The structure of the new object field template
      prefix - A prefix to prepend to the glob pattern and to field paths passed to DocumentElement.addObject(String).
      inclusion - Whether fields matching this template should be included, provided their parent is included.
      Returns:
      A DSL step where the field template can be defined in more details.