Class Sequence<T extends SequenceElement>

    • Constructor Detail

      • Sequence

        public Sequence()
        Creates new empty sequence
      • Sequence

        public Sequence​(@NonNull
                        @NonNull Collection<T> set)
        Creates new sequence from collection of elements
        Parameters:
        set -
    • Method Detail

      • addElement

        public void addElement​(@NonNull
                               T element)
        Adds single element to sequence
        Parameters:
        element -
      • addElements

        public void addElements​(Collection<T> set)
        Adds collection of elements to the sequence
        Parameters:
        set -
      • asLabels

        public List<String> asLabels()
        Returns this sequence as list of labels
        Returns:
      • getElementByLabel

        public T getElementByLabel​(@NonNull
                                   @NonNull String label)
        Returns single element out of this sequence by its label
        Parameters:
        label -
        Returns:
      • getElements

        public List<T> getElements()
        Returns an ordered unmodifiable list of elements from this sequence
        Returns:
      • getSequenceLabel

        public T getSequenceLabel()
        Returns label for this sequence
        Returns:
        label for this sequence, null if label was not defined
      • getSequenceLabels

        public List<T> getSequenceLabels()
        Returns all labels for this sequence
        Returns:
      • setSequenceLabels

        public void setSequenceLabels​(List<T> labels)
        Sets sequence labels
        Parameters:
        labels -
      • setSequenceLabel

        public void setSequenceLabel​(@NonNull
                                     T label)
        Set sequence label
        Parameters:
        label -
      • addSequenceLabel

        public void addSequenceLabel​(@NonNull
                                     T label)
        Adds sequence label. In this case sequence will have multiple labels
        Parameters:
        label -
      • isEmpty

        public boolean isEmpty()
        Checks, if sequence is empty
        Returns:
        TRUE if empty, FALSE otherwise
      • size

        public int size()
        This method returns number of elements in this sequence
        Returns:
      • getElementByIndex

        public T getElementByIndex​(int index)
        This method returns sequence element by index
        Parameters:
        index -
        Returns:
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object