package com.github.lwhite1.tablesaw.filtering.text;
import com.github.lwhite1.tablesaw.api.CategoryColumn;
import com.github.lwhite1.tablesaw.api.Table;
import com.github.lwhite1.tablesaw.columns.Column;
import com.github.lwhite1.tablesaw.columns.ColumnReference;
import com.github.lwhite1.tablesaw.filtering.ColumnFilter;
import com.github.lwhite1.tablesaw.util.Selection;
import javax.annotation.concurrent.Immutable;
/**
* A filtering that selects cells in which all text is uppercase
*/
@Immutable
public class TextEqualToIgnoringCase extends ColumnFilter {
private String string;
public TextEqualToIgnoringCase(ColumnReference reference, String string) {
super(reference);
this.string = string;
}
@Override
public Selection apply(Table relation) {
Column column = relation.column(columnReference().getColumnName());
CategoryColumn textColumn = (CategoryColumn) column;
return textColumn.equalToIgnoringCase(string);
}
}