Class LongObjGapList.ImmutableLongObjGapList

All Implemented Interfaces:
Serializable, Cloneable, Iterable<Long>, Collection<Long>, List<Long>, RandomAccess, SequencedCollection<Long>, ICollection<Long>, IListable<Long>
Enclosing class:
LongObjGapList

protected static class LongObjGapList.ImmutableLongObjGapList extends LongObjGapList
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:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      UID for serialization
      See Also:
  • Constructor Details

    • ImmutableLongObjGapList

      protected ImmutableLongObjGapList(LongObjGapList that)
      Private constructor used internally.
      Parameters:
      that - list to create an immutable view of
  • Method Details

    • doAdd

      protected boolean doAdd(int index, Long 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 LongObjGapList
      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 Long doSet(int index, Long 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 LongObjGapList
      Parameters:
      index - index where element will be placed
      elem - element to set
      Returns:
      old element which was at the position
    • doReSet

      protected Long doReSet(int index, Long 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 LongObjGapList
      Parameters:
      index - index where element will be placed
      elem - element to set
      Returns:
      old element which was at the position
    • doRemove

      protected Long 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 LongObjGapList
      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 LongObjGapList
      Parameters:
      index - index of first element to remove
      len - number of elements to remove
    • 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<Long>
    • error

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