Class BooleanGapList.ReadOnlyList

All Implemented Interfaces:
Serializable, Cloneable, IBooleanListable
Enclosing class:
BooleanGapList

protected static class BooleanGapList.ReadOnlyList extends BooleanGapList
A read-only version of BooleanGapList. It is used to implement both unmodifiable and immutable lists. 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

    • ReadOnlyList

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

    • doAdd

      protected boolean doAdd(int index, boolean elem)
      Description copied from class: IBooleanList
      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 BooleanGapList
      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 boolean doSet(int index, boolean elem)
      Description copied from class: IBooleanList
      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 BooleanGapList
      Parameters:
      index - index where element will be placed
      elem - element to set
      Returns:
      old element which was at the position
    • doReSet

      protected boolean doReSet(int index, boolean elem)
      Description copied from class: IBooleanList
      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 BooleanGapList
      Parameters:
      index - index where element will be placed
      elem - element to set
      Returns:
      old element which was at the position
    • doRemove

      protected boolean doRemove(int index)
      Description copied from class: IBooleanList
      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 BooleanGapList
      Parameters:
      index - index of element to remove
      Returns:
      removed element
    • doRemoveAll

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

      protected void doClear()
      Overrides:
      doClear in class BooleanGapList
    • doModify

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

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