Class AndFilter

    • Method Detail

      • makeMatcher

        public ValueMatcher makeMatcher​(ColumnSelectorFactory factory)
        Description copied from interface: Filter
        Get a ValueMatcher that applies this filter to row values.
        Specified by:
        makeMatcher in interface Filter
        Parameters:
        factory - Object used to create ValueMatchers
        Returns:
        ValueMatcher that applies this filter to row values.
      • canVectorizeMatcher

        public boolean canVectorizeMatcher​(ColumnInspector inspector)
        Description copied from interface: Filter
        Returns true if this filter can produce a vectorized matcher from its "makeVectorMatcher" method.
        Specified by:
        canVectorizeMatcher in interface Filter
        Parameters:
        inspector - Supplies type information for the selectors this filter will match against
      • makeMatcher

        public ValueMatcher makeMatcher​(ColumnIndexSelector selector,
                                        ColumnSelectorFactory columnSelectorFactory,
                                        RowOffsetMatcherFactory rowOffsetMatcherFactory)
        Description copied from interface: BooleanFilter
        Get a ValueMatcher that applies this filter to row values. Unlike makeMatcher(ValueMatcherFactory), this method allows the Filter to utilize bitmap indexes. An implementation should either: - return a ValueMatcher that checks row values, using the provided ValueMatcherFactory - or, if possible, get a bitmap index for this filter using the ColumnIndexSelector, and return a ValueMatcher that checks the current row offset, created using the bitmap index.
        Specified by:
        makeMatcher in interface BooleanFilter
        Parameters:
        selector - Object used to retrieve bitmap indexes
        columnSelectorFactory - Object used to select columns for making ValueMatchers
        rowOffsetMatcherFactory - Object used to create RowOffsetMatchers
        Returns:
        ValueMatcher that applies this filter
      • getFilters

        public LinkedHashSet<Filter> getFilters()
        Description copied from interface: BooleanFilter
        Returns the child filters for this filter. This is a LinkedHashSet because we don't want duplicates, but the order is also important in some cases (such as when filters are provided in an order that encourages short-circuiting.)
        Specified by:
        getFilters in interface BooleanFilter
      • supportsRequiredColumnRewrite

        public boolean supportsRequiredColumnRewrite()
        Description copied from interface: Filter
        Returns true is this filter is able to return a copy of this filter that is identical to this filter except that it operates on different columns, based on a renaming map.
        Specified by:
        supportsRequiredColumnRewrite in interface Filter
      • rewriteRequiredColumns

        public Filter rewriteRequiredColumns​(Map<String,​String> columnRewrites)
        Description copied from interface: Filter
        Return a copy of this filter that is identical to the this filter except that it operates on different columns, based on a renaming map where the key is the column to be renamed in the filter, and the value is the new column name. For example, if I have a filter (A = hello), and I have a renaming map (A -> B), this should return the filter (B = hello)
        Specified by:
        rewriteRequiredColumns in interface Filter
        Parameters:
        columnRewrites - Column rewrite map
        Returns:
        Copy of this filter that operates on new columns based on the rewrite map
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object