Interface FilterProvider

  • All Superinterfaces:
    ChangeSetFilter

    public interface FilterProvider
    extends ChangeSetFilter
    Instance of this class provide a EventFilter for observation events and a filter for commits.

    In order to support OAK-4908 a FilterProvider extends ChangeSetFilter

    • Method Detail

      • includeCommit

        boolean includeCommit​(@NotNull
                              @NotNull java.lang.String sessionId,
                              @Nullable
                              @Nullable CommitInfo info)
        Filter whole commits. Only commits for which this method returns true will be further processed to create individual events.
        Parameters:
        sessionId - id of the filtering (this) session
        info - commit info of the commit or null if not available
        Returns:
        true if observation events should be created from this commit, false otherwise.
        See Also:
        Observer
      • getFilter

        @NotNull
        @NotNull EventFilter getFilter​(@NotNull
                                       @NotNull NodeState before,
                                       @NotNull
                                       @NotNull NodeState after)
        Factory method for creating a Filter for the passed before and after states.
        Parameters:
        before - before state
        after - after state
        Returns:
        new Filter instance
      • getSubTrees

        @NotNull
        @NotNull java.lang.Iterable<java.lang.String> getSubTrees()
        A set of paths whose subtrees include all events of this filter.
        Returns:
        list of paths
        See Also:
        FilterBuilder.addSubTree(String)
      • getEventAggregator

        @Nullable
        @Nullable EventAggregator getEventAggregator()
        Allows providers to supply an optional EventAggregator that is used to adjust (aggregate) the event identifier before event creation (ie after event filtering).