package de.skuzzle.polly.sdk.httpv2; import java.util.regex.Pattern; import de.skuzzle.polly.sdk.util.ColumnFilter; public abstract class StringColumnFilter<T> implements ColumnFilter<T> { @Override public boolean accept(String[] filterString, T element) { boolean result = true; for (int i = 0; i < filterString.length; ++i) { if (!filterString[i].equals("")) { //$NON-NLS-1$ final Pattern p = Pattern.compile(".*" + filterString + ".*", //$NON-NLS-1$ //$NON-NLS-2$ Pattern.CASE_INSENSITIVE); final Object value = this.getCellValue(i, element); result &= p.matcher(value.toString()).matches(); } } return result; } protected abstract Object getCellValue(int column, T data); }