private static boolean isRegexAndSupported(QualifierFilter filter) { return filter.getComparator() instanceof RegexStringComparator && CompareOp.EQUAL.equals(filter.getOperator()); }
private static boolean isRegexAndSupported(QualifierFilter filter) { return filter.getComparator() instanceof RegexStringComparator && CompareOp.EQUAL.equals(filter.getOperator()); }
/** {@inheritDoc} */ @Override public Filter adapt(FilterAdapterContext context, QualifierFilter filter) throws IOException { if (filter.getComparator() instanceof RegexStringComparator) { return adaptRegexStringComparator( filter.getOperator(), (RegexStringComparator) filter.getComparator()); } else if (filter.getComparator() instanceof BinaryComparator) { return adaptBinaryComparator( context, filter.getOperator(), (BinaryComparator) filter.getComparator()); } throw new IllegalStateException( String.format( "Cannot adapt comparator %s", filter.getComparator().getClass().getCanonicalName())); }
/** {@inheritDoc} */ @Override public Filter adapt(FilterAdapterContext context, QualifierFilter filter) throws IOException { if (filter.getComparator() instanceof RegexStringComparator) { return adaptRegexStringComparator( filter.getOperator(), (RegexStringComparator) filter.getComparator()); } else if (filter.getComparator() instanceof BinaryComparator) { return adaptBinaryComparator( context, filter.getOperator(), (BinaryComparator) filter.getComparator()); } throw new IllegalStateException( String.format( "Cannot adapt comparator %s", filter.getComparator().getClass().getCanonicalName())); }
/** {@inheritDoc} */ @Override public FilterSupportStatus isFilterSupported( FilterAdapterContext context, QualifierFilter filter) { // For range filters, we only support a single family: if (!CompareOp.EQUAL.equals(filter.getOperator()) && filter.getComparator() instanceof BinaryComparator && context.getScan().numFamilies() != 1) { return SINGLE_FAMILY_REQUIRED; } // Support binary comparators and regex comparators with equal compare op: if ( !(filter.getComparator() instanceof BinaryComparator) && !isRegexAndSupported(filter)) { return UNSUPPORTED_COMPARABLE; } return FilterSupportStatus.SUPPORTED; } }
/** {@inheritDoc} */ @Override public FilterSupportStatus isFilterSupported( FilterAdapterContext context, QualifierFilter filter) { // For range filters, we only support a single family: if (!CompareOp.EQUAL.equals(filter.getOperator()) && filter.getComparator() instanceof BinaryComparator && context.getScan().numFamilies() != 1) { return SINGLE_FAMILY_REQUIRED; } // Support binary comparators and regex comparators with equal compare op: if ( !(filter.getComparator() instanceof BinaryComparator) && !isRegexAndSupported(filter)) { return UNSUPPORTED_COMPARABLE; } return FilterSupportStatus.SUPPORTED; } }