Class ArrayObjectContainerList<E extends NativeObjectContainer>

  • Type Parameters:
    E - extension of NativeObjectContainer
    All Implemented Interfaces:
    Iterable<E>, Collection<E>, List<E>

    public final class ArrayObjectContainerList<E extends NativeObjectContainer>
    extends Object
    An ordered collection (also known as a sequence). The user of this interface has precise control over where in the list each element is inserted.
    The user can access elements by their integer index (position in the list), and search for elements in the list.
    This implementation uses a java script array as back-end to store objects (native object containers).
    Elements are instances of NativeObjectContainer.

    Some methods are annotated with @SuppressWarnings("unusable-by-js") because J2CL transpiler emits warnings as not usable in the javascript part but this collection must not be passed to any java scriptcode.
    Author:
    Andrea "Stock" Stocchero
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(int index, E element)
      Inserts the specified element at the specified position in this list.
      Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).
      boolean add​(E element)
      Appends the specified element to the end of this list
      boolean addAll​(int index, Collection<? extends E> collection)  
      void addAll​(E[] values)
      Loads an array of elements in the list.
      boolean addAll​(Collection<? extends E> collection)
      Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's iterator
      protected boolean checkRange​(int index)
      Checks if the index is in the right range.
      void clear()
      Removes all of the elements from this list.
      boolean contains​(Object object)
      Returns true if this list contains the specified element.
      boolean containsAll​(Collection<?> collection)
      Returns true if this list contains all of the elements of the specified collection.
      E get​(int index)
      Returns the element at the specified position in this list.
      int indexOf​(Object object)
      Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
      boolean isEmpty()
      Returns true if this list contains no elements
      Iterator<E> iterator()
      Returns an iterator over the elements in this list in proper sequence.
      int lastIndexOf​(Object object)
      Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.
      ListIterator<E> listIterator()
      Returns a list iterator over the elements in this list
      ListIterator<E> listIterator​(int index)
      Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.
      The specified index indicates the first element that would be returned by an initial call to next.
      An initial call to previous would return the element with the specified index minus one.
      E remove​(int index)
      Removes the element at the specified position in this list.
      Shifts any subsequent elements to the left (subtracts one from their indices).
      boolean remove​(Object object)
      Removes the first occurrence of the specified element from this list, if it is present.
      boolean removeAll​(Collection<?> collection)
      Removes from this list all of its elements that are contained in the specified collection.
      boolean retainAll​(Collection<?> collection)
      Retains only the elements in this list that are contained in the specified collection.
      In other words, removes from this list all of its elements that are not contained in the specified collection.
      E set​(int index, E element)
      Replaces the element at the specified position in this list with the specified element.
      int size()
      Returns the number of elements in this list.
      List<E> subList​(int fromIndex, int toIndex)
      Not implemented
      Object[] toArray()  
      <T> T[] toArray​(T[] a)  
      String toString()  
    • Constructor Detail

      • ArrayObjectContainerList

        public ArrayObjectContainerList()
        Creates an empty list
    • Method Detail

      • set

        public E set​(int index,
                     E element)
        Replaces the element at the specified position in this list with the specified element. If index out of range, returns null
        Specified by:
        set in interface List<E extends NativeObjectContainer>
      • add

        public void add​(int index,
                        E element)
        Inserts the specified element at the specified position in this list.
        Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).
        Specified by:
        add in interface List<E extends NativeObjectContainer>
      • remove

        public E remove​(int index)
        Removes the element at the specified position in this list.
        Shifts any subsequent elements to the left (subtracts one from their indices). Returns the element that was removed from the list.
        Specified by:
        remove in interface List<E extends NativeObjectContainer>
      • addAll

        public final void addAll​(E[] values)
        Loads an array of elements in the list.
        Parameters:
        values - an array of elements to be loaded
      • size

        public final int size()
        Returns the number of elements in this list.
        Specified by:
        size in interface Collection<E>
        Specified by:
        size in interface List<E>
      • isEmpty

        public final boolean isEmpty()
        Returns true if this list contains no elements
        Specified by:
        isEmpty in interface Collection<E>
        Specified by:
        isEmpty in interface List<E>
      • contains

        public final boolean contains​(Object object)
        Returns true if this list contains the specified element.
        Specified by:
        contains in interface Collection<E>
        Specified by:
        contains in interface List<E>
      • containsAll

        public final boolean containsAll​(Collection<?> collection)
        Returns true if this list contains all of the elements of the specified collection.
        Specified by:
        containsAll in interface Collection<E>
        Specified by:
        containsAll in interface List<E>
      • get

        public final E get​(int index)
        Returns the element at the specified position in this list. If index out of range, returns null
      • indexOf

        public final int indexOf​(Object object)
        Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
      • lastIndexOf

        public final int lastIndexOf​(Object object)
        Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.
      • listIterator

        public final ListIterator<E> listIterator()
        Returns a list iterator over the elements in this list
        Specified by:
        listIterator in interface List<E>
      • listIterator

        public final ListIterator<E> listIterator​(int index)
        Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.
        The specified index indicates the first element that would be returned by an initial call to next.
        An initial call to previous would return the element with the specified index minus one.
        Specified by:
        listIterator in interface List<E>
      • subList

        public final List<E> subList​(int fromIndex,
                                     int toIndex)
        Not implemented
        Specified by:
        subList in interface List<E>
      • toArray

        public final Object[] toArray()
      • toArray

        public final <T> T[] toArray​(T[] a)
        Specified by:
        toArray in interface Collection<E>
        Specified by:
        toArray in interface List<E>
      • retainAll

        public final boolean retainAll​(Collection<?> collection)
        Retains only the elements in this list that are contained in the specified collection.
        In other words, removes from this list all of its elements that are not contained in the specified collection.
      • addAll

        public final boolean addAll​(Collection<? extends E> collection)
        Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's iterator
        Specified by:
        addAll in interface Collection<E>
        Specified by:
        addAll in interface List<E>
      • addAll

        public final boolean addAll​(int index,
                                    Collection<? extends E> collection)
        Specified by:
        addAll in interface List<E>
      • remove

        public final boolean remove​(Object object)
        Removes the first occurrence of the specified element from this list, if it is present. If this list does not contain the element, it is unchanged.
        Specified by:
        remove in interface Collection<E>
        Specified by:
        remove in interface List<E>
      • removeAll

        public final boolean removeAll​(Collection<?> collection)
        Removes from this list all of its elements that are contained in the specified collection.
        Specified by:
        removeAll in interface Collection<E>
        Specified by:
        removeAll in interface List<E>
      • checkRange

        protected final boolean checkRange​(int index)
        Checks if the index is in the right range.
        Parameters:
        index - index to be checked
        Returns:
        true if the index is in the right range otherwise false