com.softicar.platform.common.container.data.table.in.memory.InMemoryDataTableColumnSorter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of platform-common Show documentation
Show all versions of platform-common Show documentation
The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.
package com.softicar.platform.common.container.data.table.in.memory;
import com.softicar.platform.common.container.comparator.OrderDirection;
import com.softicar.platform.common.container.data.table.IDataTableColumn;
import java.util.Comparator;
/**
* Implementation of {@link IInMemoryDataTableSorter} for column-based sorting.
*
* @author Alexander Schmidt
*/
class InMemoryDataTableColumnSorter implements IInMemoryDataTableSorter {
private final IDataTableColumn column;
private final Comparator comparator;
public InMemoryDataTableColumnSorter(IDataTableColumn column, OrderDirection direction) {
this.column = column;
this.comparator = new InMemoryDataTableColumnValueComparator<>(column, direction);
}
@Override
public int compareRows(R leftRow, R rightRow) {
return comparator.compare(column.getValue(leftRow), column.getValue(rightRow));
}
}