Interface ArrayItem

    • Field Detail

      • SINGLE_ARRAY_TYPE

        static final SequenceType SINGLE_ARRAY_TYPE
    • Method Detail

      • get

        GroundedValue get​(int index)
        Get a member of the array
        Parameters:
        index - the position of the member to retrieve (zero-based)
        Returns:
        the value at the given position.
        Throws:
        java.lang.IndexOutOfBoundsException - if the index is out of range
      • put

        ArrayItem put​(int index,
                      GroundedValue newValue)
        Replace a member of the array
        Parameters:
        index - the position of the member to replace (zero-based)
        newValue - the replacement value
        Returns:
        the value at the given position.
        Throws:
        java.lang.IndexOutOfBoundsException - if the index is out of range
      • isEmpty

        boolean isEmpty()
        Ask whether the array is empty
        Returns:
        true if and only if the size of the array is zero
      • members

        java.lang.Iterable<GroundedValue> members()
        Get the list of all members of the array
        Returns:
        an iterator over the members of the array
      • concat

        ArrayItem concat​(ArrayItem other)
        Concatenate this array with another
        Parameters:
        other - the second array
        Returns:
        the concatenation of the two arrays; that is, an array containing first the members of this array, and then the members of the other array
      • remove

        ArrayItem remove​(int index)
        Remove a member from the array
        Parameters:
        index - the position of the member to be removed (zero-based)
        Returns:
        a new array in which the requested member has been removed.
        Throws:
        java.lang.IndexOutOfBoundsException - if index is out of range
      • removeSeveral

        ArrayItem removeSeveral​(IntSet positions)
        Remove zero or more members from the array
        Parameters:
        positions - the positions of the members to be removed (zero-based). A value that is out of range is ignored.
        Returns:
        a new array in which the requested member has been removed
        Throws:
        java.lang.IndexOutOfBoundsException - if any of the positions is out of range
      • subArray

        ArrayItem subArray​(int start,
                           int end)
        Get a sub-array given a start and end position
        Parameters:
        start - the start position (zero based)
        end - the end position (the position of the first item not to be returned) (zero based)
        Returns:
        a new array item containing the sub-array
        Throws:
        java.lang.IndexOutOfBoundsException - if start, or start+end, is out of range
      • insert

        ArrayItem insert​(int position,
                         GroundedValue member)
        Insert a new member into an array
        Parameters:
        position - the 0-based position that the new item will assume
        member - the new member to be inserted
        Returns:
        a new array item with the new member inserted
        Throws:
        java.lang.IndexOutOfBoundsException - if position is out of range
      • getMemberType

        SequenceType getMemberType​(TypeHierarchy th)
        Get the lowest common item type of the members of the array
        Returns:
        the most specific type to which all the members belong.
      • toShortString

        default java.lang.String toShortString()
        Provide a short string showing the contents of the item, suitable for use in error messages
        Specified by:
        toShortString in interface Function
        Specified by:
        toShortString in interface GroundedValue
        Specified by:
        toShortString in interface Item
        Returns:
        a depiction of the item suitable for use in error messages