Interface FeaturePropertiesBuilder

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 FeaturePropertiesBuilder extends org.eclipse.ditto.json.JsonObjectBuilder
A mutable builder for a FeatureProperties with a fluent API.
  • Method Details

    • set

      FeaturePropertiesBuilder set(CharSequence key, int value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Sets a new int property to the FeatureProperties to be built if the specified predicate evaluates to true.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      predicate - the predicate which finally determines if the property is to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      default FeaturePropertiesBuilder set(CharSequence key, int value)
      Sets a new int property to the FeatureProperties to be built.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      FeaturePropertiesBuilder set(CharSequence key, long value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Sets a new long property to the FeatureProperties to be built if the specified predicate evaluates to true.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      predicate - the predicate which finally determines if the property is to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      default FeaturePropertiesBuilder set(CharSequence key, long value)
      Sets a new long property to the FeatureProperties to be built.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      FeaturePropertiesBuilder set(CharSequence key, double value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Sets a new double property to the FeatureProperties to be built if the specified predicate evaluates to true.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      predicate - the predicate which finally determines if the property is to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      default FeaturePropertiesBuilder set(CharSequence key, double value)
      Sets a new double property to the FeatureProperties to be built.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      FeaturePropertiesBuilder set(CharSequence key, boolean value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Sets a new boolean property to the FeatureProperties to be built if the specified predicate evaluates to true.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      predicate - the predicate which finally determines if the property is to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      default FeaturePropertiesBuilder set(CharSequence key, boolean value)
      Sets a new boolean property to the FeatureProperties to be built.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      FeaturePropertiesBuilder set(CharSequence key, @Nullable String value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Sets a new string property to the FeatureProperties to be built if the specified predicate evaluates to true.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      predicate - the predicate which finally determines if the property is to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      default FeaturePropertiesBuilder set(CharSequence key, @Nullable String value)
      Sets a new string property to the FeatureProperties to be built.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty.
    • set

      FeaturePropertiesBuilder set(CharSequence key, org.eclipse.ditto.json.JsonValue value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Sets a new JsonValue property to the FeatureProperties to be built if the specified predicate evaluates to true.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      predicate - the predicate which finally determines if the property is to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if any argument is null.
      IllegalArgumentException - if name is empty.
    • set

      default FeaturePropertiesBuilder set(CharSequence key, org.eclipse.ditto.json.JsonValue value)
      Sets a new JsonValue property to the FeatureProperties to be built.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be set.
      value - the value of the property to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if any argument is null.
      IllegalArgumentException - if name is empty.
    • set

      <T> FeaturePropertiesBuilder set(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, @Nullable T value, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
    • set

      default <T> org.eclipse.ditto.json.JsonObjectBuilder set(org.eclipse.ditto.json.JsonFieldDefinition<T> fieldDefinition, @Nullable T value)
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
    • set

      FeaturePropertiesBuilder set(org.eclipse.ditto.json.JsonField field, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Sets the specified property to the FeatureProperties to be built if the specified predicate evaluates to true. If this builder already contains a field with the same key, the existing one will be replaced.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      field - the field to be set.
      predicate - the predicate which finally determines if the property is to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if field is null.
    • set

      default FeaturePropertiesBuilder set(org.eclipse.ditto.json.JsonField field)
      Sets the specified property to the FeatureProperties to be built. If this builder already contains a field with the same key, the existing one will be replaced.
      Specified by:
      set in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      field - the field to be set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if field is null.
    • remove

      Removes the property from the FeatureProperties to be built which is associated with the given name. This method has no effect if no such field exists.
      Specified by:
      remove in interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      key - the name of the property to be removed.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if name is null.
    • remove

      FeaturePropertiesBuilder remove(org.eclipse.ditto.json.JsonFieldDefinition<?> fieldDefinition)
      Removes the property from the @code FeatureProperties} 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 interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      fieldDefinition - provides the JSON pointer of the property to be removed.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if fieldDefinition is null.
      IllegalArgumentException - if the JSON pointer of fieldDefinition is empty.
    • setAll

      FeaturePropertiesBuilder setAll(Iterable<org.eclipse.ditto.json.JsonField> fields, Predicate<org.eclipse.ditto.json.JsonField> predicate)
      Sets the given JsonFields to the FeatureProperties 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 to true.
      Specified by:
      setAll in interface org.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 - if fields is null.
    • setAll

      default FeaturePropertiesBuilder setAll(Iterable<org.eclipse.ditto.json.JsonField> fields)
      Sets the given JsonFields to the FeatureProperties 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 interface org.eclipse.ditto.json.JsonObjectBuilder
      Parameters:
      fields - the fields to set.
      Returns:
      this builder to allow method chaining.
      Throws:
      NullPointerException - if fields is null.
    • removeAll

      Removes all fields from the FeatureProperties to be built.
      Specified by:
      removeAll in interface org.eclipse.ditto.json.JsonObjectBuilder
      Returns:
      this builder to allow method chaining.
    • build

      Creates a new FeatureProperties object containing all values which were set to this builder beforehand.
      Specified by:
      build in interface org.eclipse.ditto.json.JsonObjectBuilder
      Returns:
      a new FeatureProperties object.
      Throws:
      org.eclipse.ditto.json.JsonKeyInvalidException - if a property name in the passed jsonObject was not valid according to pattern RegexPatterns.NO_CONTROL_CHARS_NO_SLASHES_PATTERN.