Class LevelList

  • All Implemented Interfaces:
    Cloneable

    public class LevelList
    extends Object
    implements Cloneable
    A list that associates a level (instance of Integer) with each element in the list.
    Author:
    Thomas Morgner
    • Constructor Detail

      • LevelList

        public LevelList()
        Creates a new list (initially empty).
    • Method Detail

      • size

        public int size()
        Returns the number of elements in the list.
        Returns:
        the element count.
      • getLevelsAscending

        public Iterator getLevelsAscending()
        Returns an iterator that iterates through the levels in ascending order.
        Returns:
        an iterator.
      • getLevelsDescendingArray

        public Integer[] getLevelsDescendingArray()
        Returns the levels of the elements in the list in descending order.
        Returns:
        the levels in descending order.
      • getLevelsDescending

        public Iterator getLevelsDescending()
        Returns an iterator that iterates through the levels in descending order.
        Returns:
        an iterator.
      • toArray

        public Object[] toArray()
        Returns the elements as an array.
        Returns:
        the array.
      • getElementArrayForLevel

        public Object[] getElementArrayForLevel​(int level,
                                                Object[] target)
        Returns an iterator for all the elements at a given level.
        Parameters:
        level - the level.
        target - the target array that should receive the contentes
        Returns:
        the data for the level as object array.
      • getElementArrayForLevel

        public Object[] getElementArrayForLevel​(int level)
        Returns an iterator for all the elements at a given level.
        Parameters:
        level - the level.
        Returns:
        the data for the level as object array.
      • getElementCountForLevel

        public int getElementCountForLevel​(int level)
        Returns the numer of elements registered for an certain level.
        Parameters:
        level - the level that should be queried
        Returns:
        the numer of elements in that level
      • getElementsForLevel

        protected Iterator getElementsForLevel​(int level)
        Deprecated.
        use the array methods for best performance.
        Creates an iterator for the elements in the list at the given level.
        Parameters:
        level - the level.
        Returns:
        An iterator.
      • get

        public Object get​(int index)
        Returns the element with the given index.
        Parameters:
        index - the index.
        Returns:
        the element.
      • add

        public void add​(Object o)
        Adds an element at level zero.
        Parameters:
        o - the element.
      • add

        public void add​(Object o,
                        int level)
        Adds an element at a given level.
        Parameters:
        o - the element.
        level - the level.
      • setLevel

        public void setLevel​(int index,
                             int level)
        Sets the level for an element.
        Parameters:
        index - the element index.
        level - the level.
      • getLevel

        public int getLevel​(int index)
        Returns the level for an element.
        Parameters:
        index - the element index.
        Returns:
        the level.
      • indexOf

        public int indexOf​(Object o)
        Returns the index of an element.
        Parameters:
        o - the element.
        Returns:
        the index.
      • getLevel

        public int getLevel​(Object o)
        Returns the level of an element.
        Parameters:
        o - the element.
        Returns:
        the level.
      • setLevel

        public void setLevel​(Object o,
                             int level)
        Sets the level of an element.
        Parameters:
        o - the element.
        level - the level.
      • clear

        public void clear()
        Clears the list.
      • getRawElements

        protected Object[] getRawElements()
        Returns all stored objects as object array.
        Returns:
        all elements as object array.
      • getRawLevels

        protected Integer[] getRawLevels()
        Returns all active levels as java.lang.Integer array.
        Returns:
        all levels as Integer array.