com.softicar.platform.common.container.data.table.in.memory.InMemoryDataTableColumnValuesLoader 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.data.table.IDataTableColumn;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
class InMemoryDataTableColumnValuesLoader {
private final IDataTableColumn column;
public InMemoryDataTableColumnValuesLoader(IDataTableColumn column) {
this.column = column;
}
public List loadDistinctValues(Iterable tableRows, int limit) {
Set distinctValueSet = new HashSet<>();
List orderedDistinctValueList = new ArrayList<>();
for (R row: tableRows) {
if (limit > 0 && distinctValueSet.size() >= limit) {
break;
}
V value = column.getValue(row);
if (value != null && distinctValueSet.add(value)) {
orderedDistinctValueList.add(value);
}
}
return orderedDistinctValueList;
}
}