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
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.Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
PROP_PAGE_NAME_COMPARATOR
- See Also:
- Constant Field Values
-
-
Constructor Details
-
PageSorter
public PageSorter()Default constructor uses Java "natural" ordering. -
PageSorter
Construct with a particular comparator.- Parameters:
comparator
- the Comparator to use
-
-
Method Details
-
compare
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
- Specified by:
equals
in interfacejava.util.Comparator<java.lang.String>
- Overrides:
equals
in classjava.lang.Object
-
initialize
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
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
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
-