com.softicar.platform.common.container.data.table.in.memory.InMemoryDataTableCollectionFilter 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.DataTableCollectionFilterOperator;
import com.softicar.platform.common.container.data.table.IDataTableColumn;
import com.softicar.platform.common.core.exceptions.SofticarUnknownEnumConstantException;
import java.util.Collection;
/**
* Implementation of {@link IInMemoryDataTableFilter} for values.
*
* @author Alexander Schmidt
* @author Oliver Richers
*/
class InMemoryDataTableCollectionFilter implements IInMemoryDataTableFilter {
private final IDataTableColumn column;
private final DataTableCollectionFilterOperator operator;
private final Collection values;
public InMemoryDataTableCollectionFilter(IDataTableColumn column, DataTableCollectionFilterOperator operator, Collection values) {
this.column = column;
this.operator = operator;
this.values = values;
}
@Override
public boolean applyFilter(R row) {
switch (operator) {
case IN:
return values.contains(column.getValue(row));
case NOT_IN:
return !values.contains(column.getValue(row));
}
throw new SofticarUnknownEnumConstantException(operator);
}
}