All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.softicar.platform.common.container.data.table.in.memory.InMemoryDataTableCollectionFilter Maven / Gradle / Ivy

Go to download

The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.

There is a newer version: 50.0.0
Show newest version
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);
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy