private static class Presorter.SortHelper
extends java.lang.Object
DataSorter
used to implement a particular sort criterion. If break groups are
enabled, a set of the row numbers for each record which is the first in
its respective break group is generated during sorting. This set is
maintained by this object.Modifier and Type | Field and Description |
---|---|
private java.util.Set<java.lang.Integer> |
breakRows
Optional set of first row numbers per break group
|
private Presorter.LazyEvaluator |
lazyEvaluator
Evaluator used to obtain break groups information.
|
private DataSorter |
sorter
Directional
BaseDataType sorter |
Constructor and Description |
---|
SortHelper(boolean ascending)
Constructor which stores the sort value resolver and generates the
appropriate comparator for an ascending or descending sort.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
evaluateLazy(Presorter.IncrementalResults lazyEvaluator)
Indicates that this
SortHelper from now should evaluate
break groups information in the lazy mode using the given evaluator. |
(package private) java.util.Set<java.lang.Integer> |
getBreakRows()
Get the set of row numbers, each of which represents the first row
in a break group.
|
(package private) DataSorter |
getSorter()
Get the data sorter.
|
(package private) boolean |
isFirstOfGroup(int row)
Indicate whether the given row number represents the first row in a
break group.
|
(package private) boolean |
isLastOfGroup(int row)
Indicate whether the given row number represents the last row in a
break group.
|
(package private) void |
setBreakRows(java.util.Set<java.lang.Integer> breakRows)
Store a set of row numbers, each of which represents the first row
in a break group.
|
private final DataSorter sorter
BaseDataType
sorterprivate java.util.Set<java.lang.Integer> breakRows
private Presorter.LazyEvaluator lazyEvaluator
SortHelper(boolean ascending)
ascending
- true
if sort should be ascending;
false
if it should be descending.void setBreakRows(java.util.Set<java.lang.Integer> breakRows)
breakRows
- Set of break group first row numbers.java.util.Set<java.lang.Integer> getBreakRows()
boolean isFirstOfGroup(int row)
row
- Zero-based row number to test.true
if row
represents the first
row in a break group; else false
.boolean isLastOfGroup(int row)
row
- Zero-based row number to test.true
if row
represents the last
row in a break group; else false
.DataSorter getSorter()
void evaluateLazy(Presorter.IncrementalResults lazyEvaluator)
SortHelper
from now should evaluate
break groups information in the lazy mode using the given evaluator.lazyEvaluator
- Evaluator used to obtain break groups information. It should
have access to the break rows.