Class PedigreeArrayItem

    • Constructor Detail

      • PedigreeArrayItem

        public PedigreeArrayItem​(ArrayItem base)
        Create a PedigreeArrayItem with an empty pedigree
        Parameters:
        base - the underlying array item
      • PedigreeArrayItem

        public PedigreeArrayItem​(ArrayItem base,
                                 Pedigree pedigree)
        Create a PedigreeArrayItem with a known pedigree
        Parameters:
        base - the underlying array item
    • Method Detail

      • get

        public GroundedValue get​(int index)
        Get the member of the array at a specified index, retaining information about how that member was selected
        Specified by:
        get in interface ArrayItem
        Overrides:
        get in class DelegatingArrayItem
        Parameters:
        index - the zero-based subscript of the selected member of the array
        Returns:
        the requested array member, which will itself have a pedigree if it is a singleton map or array.
        Throws:
        java.lang.IndexOutOfBoundsException - if the index is out of bounds
      • remove

        public ArrayItem remove​(int index)
        Get all members of the array except that at a specified position, retaining information about how the remaining members were selected
        Specified by:
        remove in interface ArrayItem
        Overrides:
        remove in class DelegatingArrayItem
        Parameters:
        index - the zero-based subscript of the member of the array that is to be removed
        Returns:
        the remaining array members, which will themselves have a pedigree (indicating their original position in the original array) in the case of members that are singleton maps or arrays.
        Throws:
        java.lang.IndexOutOfBoundsException - if the index is out of bounds
      • subArray

        public ArrayItem subArray​(int start,
                                  int end)
        Description copied from interface: ArrayItem
        Get a sub-array given a start and end position
        Specified by:
        subArray in interface ArrayItem
        Overrides:
        subArray in class DelegatingArrayItem
        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
      • members

        public java.lang.Iterable<GroundedValue> members()
        Return the members of the array as an iterable collection
        Specified by:
        members in interface ArrayItem
        Overrides:
        members in class DelegatingArrayItem
        Returns:
        the members of the array as an iterable collection. Any members that are singleton maps or arrays will have a pedigree indicating how they were selected.
      • getPedigree

        public Pedigree getPedigree()
        Get the pedigree of this array item, providing information as to how it was selected.
        Specified by:
        getPedigree in interface PedigreeValue
        Returns:
        the pedigree of this array item