Package org.eclipse.ditto.things.model
Interface AttributesBuilder
-
- All Superinterfaces:
java.lang.Iterable<org.eclipse.ditto.json.JsonField>,org.eclipse.ditto.json.JsonObjectBuilder,org.eclipse.ditto.json.JsonValueContainer<org.eclipse.ditto.json.JsonField>
@NotThreadSafe public interface AttributesBuilder extends org.eclipse.ditto.json.JsonObjectBuilderA mutable builder for aAttributeswith a fluent API.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Attributesbuild()Creates a newAttributesobject containing all values which were set to this builder beforehand.AttributesBuilderremove(java.lang.CharSequence key)Removes the attribute from theAttributesto be built which is associated with the given name.AttributesBuilderremove(org.eclipse.ditto.json.JsonFieldDefinition<?> fieldDefinition)Removes the attribute from theAttributesto be built which is associated with the pointer of the specified JSON field definition.AttributesBuilderremoveAll()Removes all fields from theAttributesto be built.default AttributesBuilderset(java.lang.CharSequence key, boolean value)Sets a newbooleanvalue attribute to theAttributesto be built.AttributesBuilderset(java.lang.CharSequence key, boolean value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)Sets a newbooleanvalue attribute to theAttributesto be built if the specified predicate evaluates totrue.default AttributesBuilderset(java.lang.CharSequence key, double value)Sets a newdoublevalue attribute to theAttributesto be built.AttributesBuilderset(java.lang.CharSequence key, double value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)Sets a newdoublevalue attribute to theAttributesto be built if the specified predicate evaluates totrue.default AttributesBuilderset(java.lang.CharSequence key, int value)Sets a newintattribute to theAttributesto be built.AttributesBuilderset(java.lang.CharSequence key, int value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)Sets a newintattribute to theAttributesto be built if the specified predicate evaluates totrue.default AttributesBuilderset(java.lang.CharSequence key, long value)Sets a newlongattribute to theAttributesto be built.AttributesBuilderset(java.lang.CharSequence key, long value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)Sets a newlongattribute to theAttributesto be built if the specified predicate evaluates totrue.default AttributesBuilderset(java.lang.CharSequence key, java.lang.String value)Sets a new string value attribute to theAttributesto be built.AttributesBuilderset(java.lang.CharSequence key, java.lang.String value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)Sets a new string value attribute to theAttributesto be built if the specified predicate evaluates totrue.default AttributesBuilderset(java.lang.CharSequence key, org.eclipse.ditto.json.JsonValue value)Sets a newJsonValueattribute to theAttributesto be built.AttributesBuilderset(java.lang.CharSequence key, org.eclipse.ditto.json.JsonValue value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)Sets a newJsonValueattribute to theAttributesto be built if the specified predicate evaluates totrue.default AttributesBuilderset(org.eclipse.ditto.json.JsonField field)Sets the specified attribute to theAttributesto be built.default <T> AttributesBuilderset(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, T value)<T> AttributesBuilderset(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, T value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)AttributesBuilderset(org.eclipse.ditto.json.JsonField field, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)Sets the specified attribute to theAttributesto be built if the specified predicate evaluates totrue.default AttributesBuildersetAll(java.lang.Iterable<org.eclipse.ditto.json.JsonField> fields)Sets the givenJsonFields to theAttributesto be built.AttributesBuildersetAll(java.lang.Iterable<org.eclipse.ditto.json.JsonField> fields, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)Sets the givenJsonFields to theAttributesto be built.
-
-
-
Method Detail
-
set
AttributesBuilder set(java.lang.CharSequence key, int value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newintattribute to theAttributesto be built if the specified predicate evaluates totrue.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.predicate- the predicate which finally determines if the attribute is to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
default AttributesBuilder set(java.lang.CharSequence key, int value)
Sets a newintattribute to theAttributesto be built.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
AttributesBuilder set(java.lang.CharSequence key, long value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newlongattribute to theAttributesto be built if the specified predicate evaluates totrue.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.predicate- the predicate which finally determines if the attribute is to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
default AttributesBuilder set(java.lang.CharSequence key, long value)
Sets a newlongattribute to theAttributesto be built.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
AttributesBuilder set(java.lang.CharSequence key, double value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newdoublevalue attribute to theAttributesto be built if the specified predicate evaluates totrue.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.predicate- the predicate which finally determines if the attribute is to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
default AttributesBuilder set(java.lang.CharSequence key, double value)
Sets a newdoublevalue attribute to theAttributesto be built.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
AttributesBuilder set(java.lang.CharSequence key, boolean value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newbooleanvalue attribute to theAttributesto be built if the specified predicate evaluates totrue.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.predicate- the predicate which finally determines if the attribute is to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
default AttributesBuilder set(java.lang.CharSequence key, boolean value)
Sets a newbooleanvalue attribute to theAttributesto be built.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
AttributesBuilder set(java.lang.CharSequence key, @Nullable java.lang.String value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a new string value attribute to theAttributesto be built if the specified predicate evaluates totrue.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.predicate- the predicate which finally determines if the attribute is to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
default AttributesBuilder set(java.lang.CharSequence key, @Nullable java.lang.String value)
Sets a new string value attribute to theAttributesto be built.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
AttributesBuilder set(java.lang.CharSequence key, org.eclipse.ditto.json.JsonValue value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newJsonValueattribute to theAttributesto be built if the specified predicate evaluates totrue.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.predicate- the predicate which finally determines if the attribute is to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- if any argument isnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
default AttributesBuilder set(java.lang.CharSequence key, org.eclipse.ditto.json.JsonValue value)
Sets a newJsonValueattribute to theAttributesto be built.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be set.value- the value of the attribute to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- if any argument isnull.java.lang.IllegalArgumentException- ifnameis empty.
-
set
<T> AttributesBuilder set(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, @Nullable T value, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder
-
set
default <T> AttributesBuilder set(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, @Nullable T value)
- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder
-
set
AttributesBuilder set(org.eclipse.ditto.json.JsonField field, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets the specified attribute to theAttributesto be built if the specified predicate evaluates totrue. If this builder already contains a field with the same key, the existing one will be replaced.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
field- the field to be set.predicate- the predicate which finally determines if the attribute is to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- iffieldisnull.
-
set
default AttributesBuilder set(org.eclipse.ditto.json.JsonField field)
Sets the specified attribute to theAttributesto be built. If this builder already contains a field with the same key, the existing one will be replaced.- Specified by:
setin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
field- the field to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- iffieldisnull.
-
remove
AttributesBuilder remove(java.lang.CharSequence key)
Removes the attribute from theAttributesto be built which is associated with the given name. This method has no effect if no such field exists.- Specified by:
removein interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
key- the name of the attribute to be removed.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- ifnameisnull.
-
remove
AttributesBuilder remove(org.eclipse.ditto.json.JsonFieldDefinition<?> fieldDefinition)
Removes the attribute from theAttributesto be built which is associated with the pointer of the specified JSON field definition. This method has no effect if no such field exists.- Specified by:
removein interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
fieldDefinition- provides the JSON pointer of the attribute to be deleted.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- iffieldDefinitionisnull.java.lang.IllegalArgumentException- if the JSON pointer offieldDefinitionis empty.
-
setAll
AttributesBuilder setAll(java.lang.Iterable<org.eclipse.ditto.json.JsonField> fields, java.util.function.Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets the givenJsonFields to theAttributesto be built. This method prevents duplicates, i. e. if two fields have the same key, the previous field is replaced by the new field; the position of the new field in the resulting JSON object is the same as the position of the previous field. For each field applies that the field is only set if the specified predicate evaluates totrue.- Specified by:
setAllin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
fields- the fields to set.predicate- the predicate which finally determines for each field if it is to be set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- iffieldsisnull.
-
setAll
default AttributesBuilder setAll(java.lang.Iterable<org.eclipse.ditto.json.JsonField> fields)
Sets the givenJsonFields to theAttributesto be built. This method prevents duplicates, i. e. if two fields have the same key, the previous field is replaced by the new field; the position of the new field in the resulting JSON object is the same as the position of the previous field.- Specified by:
setAllin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Parameters:
fields- the fields to set.- Returns:
- this builder to allow method chaining.
- Throws:
java.lang.NullPointerException- iffieldsisnull.
-
removeAll
AttributesBuilder removeAll()
Removes all fields from theAttributesto be built.- Specified by:
removeAllin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Returns:
- this builder to allow method chaining.
-
build
Attributes build()
Creates a newAttributesobject containing all values which were set to this builder beforehand.- Specified by:
buildin interfaceorg.eclipse.ditto.json.JsonObjectBuilder- Returns:
- the new
Attributesobject. - Throws:
org.eclipse.ditto.json.JsonPointerInvalidException- if an attribute name in the passedjsonObjectwas not valid according to patternRegexPatterns.NO_CONTROL_CHARS_NO_SLASHES_PATTERN.
-
-