package com.revolsys.swing.table.record.filter;
import java.util.function.Predicate;
import javax.swing.RowFilter;
import com.revolsys.record.Record;
import com.revolsys.swing.table.record.model.RecordRowTableModel;
public class RecordRowPredicateRowFilter extends RowFilter<RecordRowTableModel, Integer> {
private final Predicate<? super Record> filter;
public RecordRowPredicateRowFilter(final Predicate<? super Record> filter) {
this.filter = filter;
}
@Override
public boolean include(final Entry<? extends RecordRowTableModel, ? extends Integer> entry) {
final RecordRowTableModel tableModel = entry.getModel();
final Integer rowIndex = entry.getIdentifier();
final Record record = tableModel.getRecord(rowIndex);
return this.filter.test(record);
}
}