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:
  • Method Details

    • add

      Adds a value to the array.
      Parameters:
      value - the JSON value
      Returns:
      this array builder
      Throws:
      NullPointerException - if the specified value is null
    • add

      Adds a value to the array as a JsonString.
      Parameters:
      value - the string value
      Returns:
      this array builder
      Throws:
      NullPointerException - if the specified value is null
    • add

      Adds a value to the array as a JsonNumber.
      Parameters:
      value - the number value
      Returns:
      this array builder
      Throws:
      NullPointerException - if the specified value is null
      See Also:
    • add

      Adds a value to the array as a JsonNumber.
      Parameters:
      value - the number value
      Returns:
      this array builder
      Throws:
      NullPointerException - if the specified value is null
      See Also:
    • add

      JsonArrayBuilder add(int value)
      Adds a value to the array as a JsonNumber.
      Parameters:
      value - the number value
      Returns:
      this array builder
      See Also:
    • add

      JsonArrayBuilder add(long value)
      Adds a value to the array as a JsonNumber.
      Parameters:
      value - the number value
      Returns:
      this array builder
      See Also:
    • add

      JsonArrayBuilder add(double value)
      Adds a value to the array as a JsonNumber.
      Parameters:
      value - the number value
      Returns:
      this array builder
      Throws:
      NumberFormatException - if the value is Not-a-Number (NaN) or infinity
      See Also:
    • add

      JsonArrayBuilder add(boolean value)
      Adds a JsonValue.TRUE or JsonValue.FALSE value to the array.
      Parameters:
      value - the boolean value
      Returns:
      this array builder
    • addNull

      JsonArrayBuilder addNull()
      Adds a JsonValue.NULL value to the array.
      Returns:
      this array builder
    • add

      Adds a JsonObject from an object builder to the array.
      Parameters:
      builder - the object builder
      Returns:
      this array builder
      Throws:
      NullPointerException - if the specified builder is null
    • add

      Adds a JsonArray from an array builder to the array.
      Parameters:
      builder - the array builder
      Returns:
      this array builder
      Throws:
      NullPointerException - if the specified builder is null
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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, BigDecimal 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:
      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:
    • set

      default JsonArrayBuilder set(int index, BigInteger 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:
      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:
    • 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:
    • 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:
    • 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:
    • 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