Class ModifiableJsonArray

  • All Implemented Interfaces:
    jakarta.json.JsonArray, jakarta.json.JsonStructure, jakarta.json.JsonValue, java.lang.Iterable<jakarta.json.JsonValue>, java.util.Collection<jakarta.json.JsonValue>, java.util.List<jakarta.json.JsonValue>

    public class ModifiableJsonArray
    extends java.util.AbstractList<jakarta.json.JsonValue>
    implements jakarta.json.JsonArray
    This class is a workaround for the fact that the default implementation of JsonArray is not modifiable. It would be better to use an internal data structure instead of using the Jakarta JSON API when transforming the data.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface jakarta.json.JsonValue

        jakarta.json.JsonValue.ValueType
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private com.google.common.hash.BloomFilter<java.lang.Integer> filter  
      private int hashCode  
      private java.util.List<jakarta.json.JsonValue> valueList  
      • Fields inherited from class java.util.AbstractList

        modCount
      • Fields inherited from interface jakarta.json.JsonValue

        EMPTY_JSON_ARRAY, EMPTY_JSON_OBJECT, FALSE, NULL, TRUE
    • Constructor Summary

      Constructors 
      Constructor Description
      ModifiableJsonArray​(java.util.List<jakarta.json.JsonValue> valueList)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(jakarta.json.JsonValue value)  
      jakarta.json.JsonArray asJsonArray()  
      boolean contains​(java.lang.Object o)  
      jakarta.json.JsonValue get​(int index)  
      boolean getBoolean​(int index)  
      boolean getBoolean​(int index, boolean defaultValue)  
      int getInt​(int index)  
      int getInt​(int index, int defaultValue)  
      jakarta.json.JsonArray getJsonArray​(int index)  
      jakarta.json.JsonNumber getJsonNumber​(int index)  
      jakarta.json.JsonObject getJsonObject​(int index)  
      jakarta.json.JsonString getJsonString​(int index)  
      java.lang.String getString​(int index)  
      java.lang.String getString​(int index, java.lang.String defaultValue)  
      <T extends jakarta.json.JsonValue>
      java.util.List<T>
      getValuesAs​(java.lang.Class<T> clazz)  
      jakarta.json.JsonValue.ValueType getValueType()  
      int hashCode()  
      boolean isNull​(int index)  
      int size()  
      java.lang.String toString()  
      • Methods inherited from class java.util.AbstractList

        add, addAll, clear, equals, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
      • Methods inherited from class java.util.AbstractCollection

        addAll, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface jakarta.json.JsonArray

        getValuesAs
      • Methods inherited from interface jakarta.json.JsonStructure

        getValue
      • Methods inherited from interface jakarta.json.JsonValue

        asJsonObject
      • Methods inherited from interface java.util.List

        add, addAll, addAll, clear, containsAll, equals, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, sort, spliterator, subList, toArray, toArray
    • Field Detail

      • valueList

        private final java.util.List<jakarta.json.JsonValue> valueList
      • hashCode

        private int hashCode
      • filter

        private com.google.common.hash.BloomFilter<java.lang.Integer> filter
    • Constructor Detail

      • ModifiableJsonArray

        public ModifiableJsonArray​(java.util.List<jakarta.json.JsonValue> valueList)
    • Method Detail

      • size

        public int size()
        Specified by:
        size in interface java.util.Collection<jakarta.json.JsonValue>
        Specified by:
        size in interface java.util.List<jakarta.json.JsonValue>
        Specified by:
        size in class java.util.AbstractCollection<jakarta.json.JsonValue>
      • getJsonObject

        public jakarta.json.JsonObject getJsonObject​(int index)
        Specified by:
        getJsonObject in interface jakarta.json.JsonArray
      • getJsonArray

        public jakarta.json.JsonArray getJsonArray​(int index)
        Specified by:
        getJsonArray in interface jakarta.json.JsonArray
      • getJsonNumber

        public jakarta.json.JsonNumber getJsonNumber​(int index)
        Specified by:
        getJsonNumber in interface jakarta.json.JsonArray
      • getJsonString

        public jakarta.json.JsonString getJsonString​(int index)
        Specified by:
        getJsonString in interface jakarta.json.JsonArray
      • getValuesAs

        public <T extends jakarta.json.JsonValue> java.util.List<T> getValuesAs​(java.lang.Class<T> clazz)
        Specified by:
        getValuesAs in interface jakarta.json.JsonArray
      • getString

        public java.lang.String getString​(int index)
        Specified by:
        getString in interface jakarta.json.JsonArray
      • getString

        public java.lang.String getString​(int index,
                                          java.lang.String defaultValue)
        Specified by:
        getString in interface jakarta.json.JsonArray
      • getInt

        public int getInt​(int index)
        Specified by:
        getInt in interface jakarta.json.JsonArray
      • getInt

        public int getInt​(int index,
                          int defaultValue)
        Specified by:
        getInt in interface jakarta.json.JsonArray
      • getBoolean

        public boolean getBoolean​(int index)
        Specified by:
        getBoolean in interface jakarta.json.JsonArray
      • getBoolean

        public boolean getBoolean​(int index,
                                  boolean defaultValue)
        Specified by:
        getBoolean in interface jakarta.json.JsonArray
      • isNull

        public boolean isNull​(int index)
        Specified by:
        isNull in interface jakarta.json.JsonArray
      • getValueType

        public jakarta.json.JsonValue.ValueType getValueType()
        Specified by:
        getValueType in interface jakarta.json.JsonValue
      • get

        public jakarta.json.JsonValue get​(int index)
        Specified by:
        get in interface java.util.List<jakarta.json.JsonValue>
        Specified by:
        get in class java.util.AbstractList<jakarta.json.JsonValue>
      • add

        public boolean add​(jakarta.json.JsonValue value)
        Specified by:
        add in interface java.util.Collection<jakarta.json.JsonValue>
        Specified by:
        add in interface java.util.List<jakarta.json.JsonValue>
        Overrides:
        add in class java.util.AbstractList<jakarta.json.JsonValue>
      • contains

        public boolean contains​(java.lang.Object o)
        Specified by:
        contains in interface java.util.Collection<jakarta.json.JsonValue>
        Specified by:
        contains in interface java.util.List<jakarta.json.JsonValue>
        Overrides:
        contains in class java.util.AbstractCollection<jakarta.json.JsonValue>
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface java.util.Collection<jakarta.json.JsonValue>
        Specified by:
        hashCode in interface java.util.List<jakarta.json.JsonValue>
        Overrides:
        hashCode in class java.util.AbstractList<jakarta.json.JsonValue>
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface jakarta.json.JsonValue
        Overrides:
        toString in class java.util.AbstractCollection<jakarta.json.JsonValue>
      • asJsonArray

        public jakarta.json.JsonArray asJsonArray()
        Specified by:
        asJsonArray in interface jakarta.json.JsonValue