Interface DocumentElement
- All Known Implementing Classes:
NoOpDocumentElement
public interface DocumentElement
An element of a document.
Instances may represent the document root as well as a partial view of the document, for instance a view on a specific "object" field nested inside the document.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addNullObject
(String relativeFieldName) Add anull
object to a field in this document element.void
addNullObject
(IndexObjectFieldReference fieldReference) Add anull
object to the referenced field in this document element.Add a new object to a field in this document element.addObject
(IndexObjectFieldReference fieldReference) Add a new object to a field in this document element.void
Add a new value to a field in this document element.<F> void
addValue
(IndexFieldReference<F> fieldReference, F value) Add a new value to a field in this document element.
-
Method Details
-
addValue
Add a new value to a field in this document element.This method can be called multiple times for the same field, which will result in multiple values being added to the same field.
- Type Parameters:
F
- The type of values for the given field.- Parameters:
fieldReference
- A reference to the field to add a value to. References are returned byIndexSchemaFieldFinalStep.toReference()
in thefield definition DSL
.value
- The value to add to the field.- Throws:
SearchException
- If the field is defined in a different document element.
-
addObject
Add a new object to a field in this document element.- Parameters:
fieldReference
- A reference to the object field to add an object to. References are returned byIndexSchemaFieldFinalStep.toReference()
in thefield definition DSL
.- Returns:
- The new object, that can be populated with its own fields.
- Throws:
SearchException
- If the field is defined in a different document element.
-
addNullObject
Add anull
object to the referenced field in this document element.The
null
object may have a representation in the backend (such as a JSONnull
), or it may be ignored completely, depending on the backend implementation.- Parameters:
fieldReference
- A reference to the object field to add anull
object to. References are returned byIndexSchemaFieldFinalStep.toReference()
in thefield definition DSL
.- Throws:
SearchException
- If the field is defined in a different document element.
-
addValue
Add a new value to a field in this document element.This method can be called multiple times for the same field, which will result in multiple values being added to the same field.
- Parameters:
relativeFieldName
- The name of the field to add a value to, relative to this document element. The field must have been defined previously, either directly throughIndexSchemaElement.field(String, Function)
, or indirectly throughIndexSchemaElement.fieldTemplate(String, Function)
.value
- The value to add to the field.- Throws:
SearchException
- If the field is not defined or ifvalue
has an incorrect type of this field.
-
addObject
Add a new object to a field in this document element.- Parameters:
relativeFieldName
- The name of the object field to add a value to, relative to this document element. The field must have been defined previously, either directly throughIndexSchemaElement.objectField(String, ObjectStructure)
, or indirectly throughIndexSchemaElement.objectFieldTemplate(String, ObjectStructure)
.- Returns:
- The new object, that can be populated with its own fields.
- Throws:
SearchException
- If the field is not defined or is not an object field.
-
addNullObject
Add anull
object to a field in this document element.The
null
object may have a representation in the backend (such as a JSONnull
), or it may be ignored completely, depending on the backend implementation.- Parameters:
relativeFieldName
- The name of the object field to add a value to, relative to this document element. The field must have been defined previously, either directly throughIndexSchemaElement.objectField(String, ObjectStructure)
, or indirectly throughIndexSchemaElement.objectFieldTemplate(String, ObjectStructure)
.- Throws:
SearchException
- If the field is not defined or is not an object field.
-