Class GapList.ImmutableGapList<E>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.Deque<E>, java.util.List<E>, java.util.Queue<E>, java.util.RandomAccess, ICollection<E>
    Enclosing class:
    GapList<E>

    protected static class GapList.ImmutableGapList<E>
    extends GapList<E>
    An immutable version of a GapList. Note that the client cannot change the list, but the content may change if the underlying list is changed.
    See Also:
    Serialized Form
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        UID for serialization
        See Also:
        Constant Field Values
    • Constructor Detail

      • ImmutableGapList

        protected ImmutableGapList​(GapList<E> that)
        Private constructor used internally.
        Parameters:
        that - list to create an immutable view of
    • Method Detail

      • doAdd

        protected boolean doAdd​(int index,
                                E elem)
        Description copied from class: IList
        Helper method for adding an element to the list. This is the only method which really adds an element. Override if you need to validity checks before adding.
        Overrides:
        doAdd in class GapList<E>
        Parameters:
        index - index where element should be added (-1 means it is up to the implementation to choose the index)
        elem - element to add
        Returns:
        true if element has been added, false otherwise
      • doSet

        protected E doSet​(int index,
                          E elem)
        Description copied from class: IList
        Helper method for setting an element in the list. This is the only method which really sets an element. Override if you need to validity checks before setting.
        Overrides:
        doSet in class GapList<E>
        Parameters:
        index - index where element will be placed
        elem - element to set
        Returns:
        old element which was at the position
      • doReSet

        protected E doReSet​(int index,
                            E elem)
        Description copied from class: IList
        Sets an element at specified position. This method is used internally if existing elements will be moved etc. Override if you need to validity checks.
        Overrides:
        doReSet in class GapList<E>
        Parameters:
        index - index where element will be placed
        elem - element to set
        Returns:
        old element which was at the position
      • doRemove

        protected E doRemove​(int index)
        Description copied from class: IList
        Helper method to remove an element. This is the only method which really removes an element. Override if you need to validity checks before removing.
        Overrides:
        doRemove in class GapList<E>
        Parameters:
        index - index of element to remove
        Returns:
        removed element
      • doRemoveAll

        protected void doRemoveAll​(int index,
                                   int len)
        Description copied from class: IList
        Remove specified range of elements from list.
        Overrides:
        doRemoveAll in class GapList<E>
        Parameters:
        index - index of first element to remove
        len - number of elements to remove
      • doClear

        protected void doClear()
        Overrides:
        doClear in class GapList<E>
      • doModify

        protected void doModify()
        Description copied from class: IList
        This method is called internally before elements are allocated or freed. Override if you need to validity checks.
        Overrides:
        doModify in class IList<E>
      • error

        private void error()
        Throw exception if an attempt is made to change an immutable list.