Class ArrayValue

    • Constructor Detail

      • ArrayValue

        public ArrayValue()
        Creates an empty ArrayValue
      • ArrayValue

        public ArrayValue​(int size)
        Creates an empty ArrayValue with the specified size
        Parameters:
        size - the starting size for the array
    • Method Detail

      • size

        public int size()
        Returns the size of the array
        Returns:
        the size
      • getType

        public FieldValue.Type getType​(int index)
        Returns the type of the field at the specified index.
        Parameters:
        index - the index of the value to return, zero-based
        Returns:
        the type of the field at the specified index
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • get

        public FieldValue get​(int index)
        Returns the field at the specified index.
        Parameters:
        index - the index of the value to return, zero-based
        Returns:
        the field at the specified index
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • add

        public ArrayValue add​(FieldValue value)
        Adds the field to the end of the array
        Parameters:
        value - the value to add
        Returns:
        this
      • add

        public ArrayValue add​(int index,
                              FieldValue value)
        Inserts the field at the specified index. Shifts the element at that position and any subsequent elements to the right.
        Parameters:
        index - the index to use
        value - the value to add
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • set

        public FieldValue set​(int index,
                              FieldValue value)
        Replaces the element at the specified position with the new value.
        Parameters:
        value - the value to set
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • remove

        public FieldValue remove​(int index)
        Removes the element at the specified position, shifting any subsequent elements to the left.
        Parameters:
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • addAll

        public ArrayValue addAll​(Stream<? extends FieldValue> stream)
        Adds all of the values in the Stream to the end of the array in the order they are returned by the stream.
        Parameters:
        stream - the Stream
        Returns:
        this
      • addAll

        public ArrayValue addAll​(int index,
                                 Stream<? extends FieldValue> stream)
        Inserts all of the elements in the specified Stream into the array, starting at the specified position. Shifts the element currently at that position and any subsequent elements to the right (increases their indices). New elements are added in the order that they are returned by the stream.
        Parameters:
        index - the index to use
        stream - the Stream
        Returns:
        this
      • addAll

        public ArrayValue addAll​(Iterator<? extends FieldValue> iter)
        Adds all of the values in the Iterator to the end of the array in the order they are returned by the iterator.
        Parameters:
        iter - the iterator
        Returns:
        this
      • addAll

        public ArrayValue addAll​(int index,
                                 Iterator<? extends FieldValue> iter)
        Inserts all of the elements in the specified Iterator into the array, starting at the specified position. Shifts the element currently at that position and any subsequent elements to the right (increases their indices). New elements are added in the order that they are returned by the iterator.
        Parameters:
        index - the index to use
        iter - the iterator
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • add

        public ArrayValue add​(int value)
        Adds a new value at the end of the array
        Parameters:
        value - the value to add
        Returns:
        this
      • add

        public ArrayValue add​(int index,
                              int value)
        Inserts a new value at the specified index. Shifts the element at that position and any subsequent elements to the right.
        Parameters:
        index - the index to use
        value - the value to add
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • set

        public FieldValue set​(int index,
                              int value)
        Replaces the element at the specified position with the new value.
        Parameters:
        value - the value to set
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • add

        public ArrayValue add​(long value)
        Adds a new value at the end of the array
        Parameters:
        value - the value to add
        Returns:
        this
      • add

        public ArrayValue add​(int index,
                              long value)
        Inserts a new value at the specified index. Shifts the element at that position and any subsequent elements to the right.
        Parameters:
        index - the index to use
        value - the value to add
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • set

        public FieldValue set​(int index,
                              long value)
        Replaces the element at the specified position with the new value.
        Parameters:
        value - the value to set
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • add

        public ArrayValue add​(double value)
        Adds a new value at the end of the array
        Parameters:
        value - the value to add
        Returns:
        this
      • add

        public ArrayValue add​(int index,
                              double value)
        Inserts a new value at the specified index. Shifts the element at that position and any subsequent elements to the right.
        Parameters:
        index - the index to use
        value - the value to add
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • set

        public FieldValue set​(int index,
                              double value)
        Replaces the element at the specified position with the new value.
        Parameters:
        value - the value to set
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • add

        public ArrayValue add​(BigDecimal value)
        Adds a new value at the end of the array
        Parameters:
        value - the value to add
        Returns:
        this
      • add

        public ArrayValue add​(int index,
                              BigDecimal value)
        Inserts a new value at the specified index. Shifts the element at that position and any subsequent elements to the right.
        Parameters:
        index - the index to use
        value - the value to add
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • set

        public FieldValue set​(int index,
                              BigDecimal value)
        Replaces the element at the specified position with the new value.
        Parameters:
        value - the value to set
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • add

        public ArrayValue add​(boolean value)
        Adds a new value at the end of the array
        Parameters:
        value - the value to add
        Returns:
        this
      • add

        public ArrayValue add​(int index,
                              boolean value)
        Inserts a new value at the specified index. Shifts the element at that position and any subsequent elements to the right.
        Parameters:
        index - the index to use
        value - the value to add
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • set

        public FieldValue set​(int index,
                              boolean value)
        Replaces the element at the specified position with the new value.
        Parameters:
        value - the value to set
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • add

        public ArrayValue add​(String value)
        Adds a new value at the end of the array
        Parameters:
        value - the value to add
        Returns:
        this
      • add

        public ArrayValue add​(int index,
                              String value)
        Inserts a new value at the specified index. Shifts the element at that position and any subsequent elements to the right.
        Parameters:
        index - the index to use
        value - the value to add
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • set

        public FieldValue set​(int index,
                              String value)
        Replaces the element at the specified position with the new value.
        Parameters:
        value - the value to set
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • add

        public ArrayValue add​(byte[] value)
        Adds a new value at the end of the array
        Parameters:
        value - the value to add
        Returns:
        this
      • add

        public ArrayValue add​(int index,
                              byte[] value)
        Inserts a new value at the specified index. Shifts the element at that position and any subsequent elements to the right.
        Parameters:
        index - the index to use
        value - the value to add
        Returns:
        this
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • set

        public FieldValue set​(int index,
                              byte[] value)
        Replaces the element at the specified position with the new value.
        Parameters:
        value - the value to set
        index - the index to use
        Returns:
        the element previously at the specified position
        Throws:
        IndexOutOfBoundsException - if the index is out of the range of the array.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object