Package org.eclipse.ditto.model.things
Interface AttributesBuilder
-
- All Superinterfaces:
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.JsonObjectBuilder
A mutable builder for aAttributes
with a fluent API.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Attributes
build()
Creates a newAttributes
object containing all values which were set to this builder beforehand.AttributesBuilder
remove(CharSequence key)
Removes the attribute from theAttributes
to be built which is associated with the given name.AttributesBuilder
remove(org.eclipse.ditto.json.JsonFieldDefinition fieldDefinition)
Removes the attribute from theAttributes
to be built which is associated with the pointer of the specified JSON field definition.AttributesBuilder
removeAll()
Removes all fields from theAttributes
to be built.default AttributesBuilder
set(CharSequence key, boolean value)
Sets a newboolean
value attribute to theAttributes
to be built.AttributesBuilder
set(CharSequence key, boolean value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newboolean
value attribute to theAttributes
to be built if the specified predicate evaluates totrue
.default AttributesBuilder
set(CharSequence key, double value)
Sets a newdouble
value attribute to theAttributes
to be built.AttributesBuilder
set(CharSequence key, double value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newdouble
value attribute to theAttributes
to be built if the specified predicate evaluates totrue
.default AttributesBuilder
set(CharSequence key, int value)
Sets a newint
attribute to theAttributes
to be built.AttributesBuilder
set(CharSequence key, int value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newint
attribute to theAttributes
to be built if the specified predicate evaluates totrue
.default AttributesBuilder
set(CharSequence key, long value)
Sets a newlong
attribute to theAttributes
to be built.AttributesBuilder
set(CharSequence key, long value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newlong
attribute to theAttributes
to be built if the specified predicate evaluates totrue
.default AttributesBuilder
set(CharSequence key, String value)
Sets a new string value attribute to theAttributes
to be built.AttributesBuilder
set(CharSequence key, String value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a new string value attribute to theAttributes
to be built if the specified predicate evaluates totrue
.default AttributesBuilder
set(CharSequence key, org.eclipse.ditto.json.JsonValue value)
Sets a newJsonValue
attribute to theAttributes
to be built.AttributesBuilder
set(CharSequence key, org.eclipse.ditto.json.JsonValue value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newJsonValue
attribute to theAttributes
to be built if the specified predicate evaluates totrue
.default AttributesBuilder
set(org.eclipse.ditto.json.JsonField field)
Sets the specified attribute to theAttributes
to be built.default <T> AttributesBuilder
set(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, T value)
<T> AttributesBuilder
set(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, T value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
AttributesBuilder
set(org.eclipse.ditto.json.JsonField field, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets the specified attribute to theAttributes
to be built if the specified predicate evaluates totrue
.default AttributesBuilder
setAll(Iterable<org.eclipse.ditto.json.JsonField> fields)
Sets the givenJsonField
s to theAttributes
to be built.AttributesBuilder
setAll(Iterable<org.eclipse.ditto.json.JsonField> fields, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets the givenJsonField
s to theAttributes
to be built.-
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
-
-
-
Method Detail
-
set
AttributesBuilder set(CharSequence key, int value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newint
attribute to theAttributes
to be built if the specified predicate evaluates totrue
.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
default AttributesBuilder set(CharSequence key, int value)
Sets a newint
attribute to theAttributes
to be built.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
AttributesBuilder set(CharSequence key, long value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newlong
attribute to theAttributes
to be built if the specified predicate evaluates totrue
.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
default AttributesBuilder set(CharSequence key, long value)
Sets a newlong
attribute to theAttributes
to be built.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
AttributesBuilder set(CharSequence key, double value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newdouble
value attribute to theAttributes
to be built if the specified predicate evaluates totrue
.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
default AttributesBuilder set(CharSequence key, double value)
Sets a newdouble
value attribute to theAttributes
to be built.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
AttributesBuilder set(CharSequence key, boolean value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newboolean
value attribute to theAttributes
to be built if the specified predicate evaluates totrue
.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
default AttributesBuilder set(CharSequence key, boolean value)
Sets a newboolean
value attribute to theAttributes
to be built.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
AttributesBuilder set(CharSequence key, @Nullable String value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a new string value attribute to theAttributes
to be built if the specified predicate evaluates totrue
.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
default AttributesBuilder set(CharSequence key, @Nullable String value)
Sets a new string value attribute to theAttributes
to be built.- Specified by:
set
in 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:
NullPointerException
- ifname
isnull
.IllegalArgumentException
- ifname
is empty.
-
set
AttributesBuilder set(CharSequence key, org.eclipse.ditto.json.JsonValue value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets a newJsonValue
attribute to theAttributes
to be built if the specified predicate evaluates totrue
.- Specified by:
set
in 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:
NullPointerException
- if any argument isnull
.IllegalArgumentException
- ifname
is empty.
-
set
default AttributesBuilder set(CharSequence key, org.eclipse.ditto.json.JsonValue value)
Sets a newJsonValue
attribute to theAttributes
to be built.- Specified by:
set
in 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:
NullPointerException
- if any argument isnull
.IllegalArgumentException
- ifname
is empty.
-
set
<T> AttributesBuilder set(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, @Nullable T value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
- Specified by:
set
in interfaceorg.eclipse.ditto.json.JsonObjectBuilder
-
set
default <T> AttributesBuilder set(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, @Nullable T value)
- Specified by:
set
in interfaceorg.eclipse.ditto.json.JsonObjectBuilder
-
set
AttributesBuilder set(org.eclipse.ditto.json.JsonField field, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets the specified attribute to theAttributes
to 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:
set
in 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:
NullPointerException
- iffield
isnull
.
-
set
default AttributesBuilder set(org.eclipse.ditto.json.JsonField field)
Sets the specified attribute to theAttributes
to be built. If this builder already contains a field with the same key, the existing one will be replaced.- Specified by:
set
in interfaceorg.eclipse.ditto.json.JsonObjectBuilder
- Parameters:
field
- the field to be set.- Returns:
- this builder to allow method chaining.
- Throws:
NullPointerException
- iffield
isnull
.
-
remove
AttributesBuilder remove(CharSequence key)
Removes the attribute from theAttributes
to be built which is associated with the given name. This method has no effect if no such field exists.- Specified by:
remove
in interfaceorg.eclipse.ditto.json.JsonObjectBuilder
- Parameters:
key
- the name of the attribute to be removed.- Returns:
- this builder to allow method chaining.
- Throws:
NullPointerException
- ifname
isnull
.
-
remove
AttributesBuilder remove(org.eclipse.ditto.json.JsonFieldDefinition fieldDefinition)
Removes the attribute from theAttributes
to 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:
remove
in 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:
NullPointerException
- iffieldDefinition
isnull
.IllegalArgumentException
- if the JSON pointer offieldDefinition
is empty.
-
setAll
AttributesBuilder setAll(Iterable<org.eclipse.ditto.json.JsonField> fields, Predicate<org.eclipse.ditto.json.JsonField> predicate)
Sets the givenJsonField
s to theAttributes
to 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:
setAll
in 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:
NullPointerException
- iffields
isnull
.
-
setAll
default AttributesBuilder setAll(Iterable<org.eclipse.ditto.json.JsonField> fields)
Sets the givenJsonField
s to theAttributes
to 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:
setAll
in interfaceorg.eclipse.ditto.json.JsonObjectBuilder
- Parameters:
fields
- the fields to set.- Returns:
- this builder to allow method chaining.
- Throws:
NullPointerException
- iffields
isnull
.
-
removeAll
AttributesBuilder removeAll()
Removes all fields from theAttributes
to be built.- Specified by:
removeAll
in interfaceorg.eclipse.ditto.json.JsonObjectBuilder
- Returns:
- this builder to allow method chaining.
-
build
Attributes build()
Creates a newAttributes
object containing all values which were set to this builder beforehand.- Specified by:
build
in interfaceorg.eclipse.ditto.json.JsonObjectBuilder
- Returns:
- the new
Attributes
object.
-
-