Package org.apache.wiki.pages
Class PageSorter
- java.lang.Object
-
- org.apache.wiki.pages.PageSorter
-
- All Implemented Interfaces:
java.util.Comparator<java.lang.String>
public class PageSorter extends java.lang.Object implements java.util.Comparator<java.lang.String>
Wrapper class for managing and using the PageNameComparator.Note - this class is deliberately not null safe. Never call any of the methods with a null argument!
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
PROP_PAGE_NAME_COMPARATOR
-
Constructor Summary
Constructors Constructor Description PageSorter()
Default constructor uses Java "natural" ordering.PageSorter(java.util.Comparator<java.lang.String> comparator)
Construct with a particular comparator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(java.lang.String pageName1, java.lang.String pageName2)
Compare two page names (String version).boolean
equals(java.lang.Object o)
void
initialize(java.util.Properties props)
Called by Engine to initialise this instance.void
sort(java.lang.String[] nameArray)
Sorts the specified array into ascending order based on the PageNameComparator.void
sort(java.util.List<java.lang.String> nameList)
Sorts the specified list into ascending order based on the PageNameComparator.
-
-
-
Field Detail
-
PROP_PAGE_NAME_COMPARATOR
protected static final java.lang.String PROP_PAGE_NAME_COMPARATOR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PageSorter
public PageSorter()
Default constructor uses Java "natural" ordering.
-
PageSorter
public PageSorter(java.util.Comparator<java.lang.String> comparator)
Construct with a particular comparator.- Parameters:
comparator
- the Comparator to use
-
-
Method Detail
-
compare
public int compare(java.lang.String pageName1, java.lang.String pageName2)
Compare two page names (String version).- Specified by:
compare
in interfacejava.util.Comparator<java.lang.String>
- Parameters:
pageName1
- the first page namepageName2
- the second page name- Returns:
- see java.util.Comparator
- See Also:
Comparator.compare(java.lang.Object, java.lang.Object)
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in interfacejava.util.Comparator<java.lang.String>
- Overrides:
equals
in classjava.lang.Object
-
initialize
public void initialize(java.util.Properties props)
Called by Engine to initialise this instance. Tries to use class given by the PROP_PAGE_NAME_COMPARATOR property as the page name comparator. Uses a default comparator if this property is not set or there is any problem loading the specified class.- Parameters:
props
- this Engine's properties.
-
sort
public void sort(java.util.List<java.lang.String> nameList)
Sorts the specified list into ascending order based on the PageNameComparator. The actual sort is done usingList.sort()
.- Parameters:
nameList
- the page names to be sorted
-
sort
public void sort(java.lang.String[] nameArray)
Sorts the specified array into ascending order based on the PageNameComparator. The actual sort is done usingArrays.sort()
.- Parameters:
nameArray
- the page names to be sorted
-
-