Class RowMatcher

  • All Implemented Interfaces:
    Matcher

    public final class RowMatcher
    extends BaseMatcher<org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.RowMetadata,​org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.ColumnMetadata,​Integer>
    A matcher for projection rows. This matcher is not stateless so it cannot be reused.
    Since:
    8.0
    Author:
    anistor@redhat.com
    • Constructor Detail

      • RowMatcher

        public RowMatcher​(org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.ColumnMetadata[] columns)
    • Method Detail

      • startMultiTypeContext

        protected org.infinispan.objectfilter.impl.predicateindex.RowMatcherEvalContext startMultiTypeContext​(boolean isDeltaFilter,
                                                                                                              Object userContext,
                                                                                                              Object eventType,
                                                                                                              Object instance)
        Description copied from class: BaseMatcher
        Creates a new MatcherEvalContext capable of dealing with multiple filters. The context is created only if the given instance is recognized to be of a type that has some filters registered. If there are no filters, null is returned to signal this condition and make the evaluation faster. This method must be called while holding the internal write lock.
        Specified by:
        startMultiTypeContext in class BaseMatcher<org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.RowMetadata,​org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.ColumnMetadata,​Integer>
        Parameters:
        isDeltaFilter - indicates if this is a delta match of not
        userContext - an opaque value, possibly null, the is received from the caller and is to be handed to the FilterCallback in case a match is detected
        eventType - on optional event type discriminator
        instance - the instance to filter; never null
        Returns:
        the MatcherEvalContext or null if no filter was registered for the instance
      • startSingleTypeContext

        protected org.infinispan.objectfilter.impl.predicateindex.RowMatcherEvalContext startSingleTypeContext​(Object userContext,
                                                                                                               Object eventType,
                                                                                                               Object instance,
                                                                                                               MetadataAdapter<org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.RowMetadata,​org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.ColumnMetadata,​Integer> metadataAdapter)
        Description copied from class: BaseMatcher
        Creates a new MatcherEvalContext capable of dealing with a single filter for a single type. The context is created only if the given instance is recognized to be of a type that has some filters registered. If there are no filters, null is returned to signal this condition and make the evaluation faster. This method must be called while holding the internal write lock.
        Specified by:
        startSingleTypeContext in class BaseMatcher<org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.RowMetadata,​org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.ColumnMetadata,​Integer>
        Parameters:
        userContext - an opaque value, possibly null, the is received from the caller and is to be handed to the FilterCallback in case a match is detected
        instance - the instance to filter; never null
        metadataAdapter - the metadata adapter of expected instance type
        Returns:
        the MatcherEvalContext or null if no filter was registered for the instance
      • createMetadataAdapter

        protected MetadataAdapter<org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.RowMetadata,​org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.ColumnMetadata,​Integer> createMetadataAdapter​(org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.RowMetadata rowMetadata)
        Specified by:
        createMetadataAdapter in class BaseMatcher<org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.RowMetadata,​org.infinispan.objectfilter.impl.syntax.parser.RowPropertyHelper.ColumnMetadata,​Integer>