org.apache.wiki.util
Class PriorityList<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by org.apache.wiki.util.PriorityList<E>
All Implemented Interfaces:
Iterable<E>, Collection<E>, List<E>

public class PriorityList<E>
extends AbstractList<E>

Builds a simple, priority-based List implementation. The list will be sorted according to the priority. If two items are inserted with the same priority, their order is the insertion order - i.e. the new one is appended last in the insertion list.

Priority is an integer, and the list is sorted in descending order (that is, 100 is before 10 is before 0 is before -40).


Field Summary
static int DEFAULT_PRIORITY
          This is the default priority, which is used if no priority is defined.
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
PriorityList()
           
 
Method Summary
 boolean add(E o)
          Adds an object using the default priority to the List.
 void add(E o, int priority)
          Adds an object to its correct place in the list, using the given priority.
 E get(int index)
          Returns the object at index "index".
 int size()
          Returns the current size of the list.
 
Methods inherited from class java.util.AbstractList
add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
 

Field Detail

DEFAULT_PRIORITY

public static final int DEFAULT_PRIORITY
This is the default priority, which is used if no priority is defined. It's current value is zero.

See Also:
Constant Field Values
Constructor Detail

PriorityList

public PriorityList()
Method Detail

add

public void add(E o,
                int priority)
Adds an object to its correct place in the list, using the given priority.

Parameters:
o - Object to add.
priority - Priority.

add

public boolean add(E o)
Adds an object using the default priority to the List.

Specified by:
add in interface Collection<E>
Specified by:
add in interface List<E>
Overrides:
add in class AbstractList<E>
Parameters:
o - Object to add.
Returns:
true, as per the general Collections.add contract.

get

public E get(int index)
Returns the object at index "index".

Specified by:
get in interface List<E>
Specified by:
get in class AbstractList<E>
Parameters:
index - The index.
Returns:
The object at the list at the position "index".

size

public int size()
Returns the current size of the list.

Specified by:
size in interface Collection<E>
Specified by:
size in interface List<E>
Specified by:
size in class AbstractCollection<E>
Returns:
size of the list.


Copyright © {inceptionYear}-2014 The Apache Software Foundation. All rights reserved.