Package jakarta.json

Interface JsonArrayBuilder


  • public interface JsonArrayBuilder
    A builder for creating JsonArray models from scratch, and for modifying a existing JsonArray.

    A JsonArrayBuilder can start with an empty or a non-empty JSON array model. This interface provides methods to add, insert, remove and replace values in the JSON array model.

    Methods in this class can be chained to perform multiple values to the array.

    The class Json contains methods to create the builder object. The example code below shows how to build an empty JsonArray instance.

     
     JsonArray array = Json.createArrayBuilder().build();
     
     

    The class JsonBuilderFactory also contains methods to create JsonArrayBuilder instances. A factory instance can be used to create multiple builder instances with the same configuration. This the preferred way to create multiple instances. The example code below shows how to build a JsonArray object that represents the following JSON array:

     
     [
         { "type": "home", "number": "212 555-1234" },
         { "type": "fax", "number": "646 555-4567" }
     ]
     
     

    The following code creates the JSON array above:

     
     JsonBuilderFactory factory = Json.createBuilderFactory(config);
     JsonArray value = factory.createArrayBuilder()
         .add(factory.createObjectBuilder()
             .add("type", "home")
             .add("number", "212 555-1234"))
         .add(factory.createObjectBuilder()
             .add("type", "fax")
             .add("number", "646 555-4567"))
         .build();
     
     

    This class does not allow null to be used as a value while building the JSON array

    See Also:
    JsonObjectBuilder
    • Method Detail

      • addAll

        default JsonArrayBuilder addAll​(JsonArrayBuilder builder)
        Adds all elements of the array in the specified array builder to the array.
        Parameters:
        builder - the array builder
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified builder is null
        Since:
        1.1
      • add

        default JsonArrayBuilder add​(int index,
                                     JsonValue value)
        Inserts a value to the array at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        value - the JSON value
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified value is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
      • add

        default JsonArrayBuilder add​(int index,
                                     String value)
        Adds a value to the array as a JsonString at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        value - the string value
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified value is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
      • add

        default JsonArrayBuilder add​(int index,
                                     BigDecimal value)
        Adds a value to the array as a JsonNumber at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        value - the number value
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified value is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
        See Also:
        JsonNumber
      • add

        default JsonArrayBuilder add​(int index,
                                     BigInteger value)
        Adds a value to the array as a JsonNumber at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        value - the number value
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified value is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
        See Also:
        JsonNumber
      • add

        default JsonArrayBuilder add​(int index,
                                     int value)
        Adds a value to the array as a JsonNumber at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        value - the number value
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
        See Also:
        JsonNumber
      • add

        default JsonArrayBuilder add​(int index,
                                     long value)
        Adds a value to the array as a JsonNumber at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        value - the number value
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
        See Also:
        JsonNumber
      • add

        default JsonArrayBuilder add​(int index,
                                     double value)
        Adds a value to the array as a JsonNumber at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        value - the number value
        Returns:
        this array builder
        Throws:
        NumberFormatException - if the value is Not-a-Number (NaN) or infinity
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
        See Also:
        JsonNumber
      • add

        default JsonArrayBuilder add​(int index,
                                     boolean value)
        Adds a JsonValue.TRUE or JsonValue.FALSE value to the array at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        value - the boolean value
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
      • addNull

        default JsonArrayBuilder addNull​(int index)
        Adds a JsonValue.NULL value to the array at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
      • add

        default JsonArrayBuilder add​(int index,
                                     JsonObjectBuilder builder)
        Adds a JsonObject from an object builder to the array at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        builder - the object builder
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified builder is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
      • add

        default JsonArrayBuilder add​(int index,
                                     JsonArrayBuilder builder)
        Adds a JsonArray from an array builder to the array at the specified position. Shifts the value currently at that position (if any) and any subsequent values to the right (adds one to their indices). Index starts with 0.
        Parameters:
        index - the position in the array
        builder - the array builder
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified builder is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array size)
        Since:
        1.1
      • set

        default JsonArrayBuilder set​(int index,
                                     JsonValue value)
        Replaces a value in the array with the specified value at the specified position.
        Parameters:
        index - the position in the array
        value - the JSON value
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified value is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
      • set

        default JsonArrayBuilder set​(int index,
                                     String value)
        Replaces a value in the array with the specified value as a JsonString at the specified position.
        Parameters:
        index - the position in the array
        value - the string value
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified value is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
      • set

        default JsonArrayBuilder set​(int index,
                                     int value)
        Replaces a value in the array with the specified value as a JsonNumber at the specified position.
        Parameters:
        index - the position in the array
        value - the number value
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
        See Also:
        JsonNumber
      • set

        default JsonArrayBuilder set​(int index,
                                     long value)
        Replaces a value in the array with the specified value as a JsonNumber at the specified position.
        Parameters:
        index - the position in the array
        value - the number value
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
        See Also:
        JsonNumber
      • set

        default JsonArrayBuilder set​(int index,
                                     double value)
        Replaces a value in the array with the specified value as a JsonNumber at the specified position.
        Parameters:
        index - the position in the array
        value - the number value
        Returns:
        this array builder
        Throws:
        NumberFormatException - if the value is Not-a-Number (NaN) or infinity
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
        See Also:
        JsonNumber
      • set

        default JsonArrayBuilder set​(int index,
                                     boolean value)
        Replaces a value in the array with a JsonValue.TRUE or JsonValue.FALSE value at the specified position.
        Parameters:
        index - the position in the array
        value - the boolean value
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
      • setNull

        default JsonArrayBuilder setNull​(int index)
        Replaces a value in the array with a JsonValue.NULL value at the specified position.
        Parameters:
        index - the position in the array
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
      • set

        default JsonArrayBuilder set​(int index,
                                     JsonObjectBuilder builder)
        Replaces a value in the array with the specified value as a JsonObject from an object builder at the specified position.
        Parameters:
        index - the position in the array
        builder - the object builder
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified builder is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
      • set

        default JsonArrayBuilder set​(int index,
                                     JsonArrayBuilder builder)
        Replaces a value in the array with the specified value as a JsonArray from an array builder at the specified position.
        Parameters:
        index - the position in the array
        builder - the array builder
        Returns:
        this array builder
        Throws:
        NullPointerException - if the specified builder is null
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
      • remove

        default JsonArrayBuilder remove​(int index)
        Remove the value in the array at the specified position. Shift any subsequent values to the left (subtracts one from their indices.
        Parameters:
        index - the position in the array
        Returns:
        this array builder
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array size)
        Since:
        1.1
      • build

        JsonArray build()
        Returns the current array.
        Returns:
        the current JSON array