Class OrderComparator
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.evaluation.util.OrderComparator
-
- All Implemented Interfaces:
java.util.Comparator<BindingSet>
public class OrderComparator extends java.lang.Object implements java.util.Comparator<BindingSet>
AComparator
onBindingSet
s that imposes a total ordering by examining suppliedOrder
elements (i.e. the elements of an ORDER BY clause), falling back on a custom predictable ordering for BindingSet elements if no ordering is established on the basis of the Order elements.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Comparator<BindingSet>
bindingContentsComparator
private ValueComparator
cmp
private static org.slf4j.Logger
logger
-
Constructor Summary
Constructors Constructor Description OrderComparator(EvaluationStrategy strategy, Order order, ValueComparator cmp, QueryEvaluationContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(BindingSet o1, BindingSet o2)
private static java.util.List<java.lang.String>
getSortedBindingNames(java.util.Set<java.lang.String> bindingNames)
private java.util.Comparator<BindingSet>
precompileComparator(EvaluationStrategy strategy, Order order, QueryEvaluationContext context)
private boolean
sortedEquals(java.util.List<java.lang.String> o1bindingNamesOrdered, java.util.List<java.lang.String> o2bindingNamesOrdered)
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
cmp
private final ValueComparator cmp
-
bindingContentsComparator
private final java.util.Comparator<BindingSet> bindingContentsComparator
-
-
Constructor Detail
-
OrderComparator
public OrderComparator(EvaluationStrategy strategy, Order order, ValueComparator cmp, QueryEvaluationContext context)
-
-
Method Detail
-
precompileComparator
private java.util.Comparator<BindingSet> precompileComparator(EvaluationStrategy strategy, Order order, QueryEvaluationContext context)
-
compare
public int compare(BindingSet o1, BindingSet o2)
- Specified by:
compare
in interfacejava.util.Comparator<BindingSet>
-
sortedEquals
private boolean sortedEquals(java.util.List<java.lang.String> o1bindingNamesOrdered, java.util.List<java.lang.String> o2bindingNamesOrdered)
-
getSortedBindingNames
private static java.util.List<java.lang.String> getSortedBindingNames(java.util.Set<java.lang.String> bindingNames)
-
-