Class WhereFilterSerialImpl

All Implemented Interfaces:
ConcurrencyControl<Filter>, Expression, Filter, LogOutputAppendable, LivenessManager, LivenessNode, LivenessReferent, DependencyStreamProvider, WhereFilter, WhereFilterDelegating, Serializable

public class WhereFilterSerialImpl extends WhereFilterDelegatingBase
A serial wrapper for a WhereFilter that enforces serial (non-parallel) execution.
See Also:
  • Method Details

    • of

      public static WhereFilter of(WhereFilter filter)
      Wraps the provided WhereFilter with serial behavior.
      Parameters:
      filter - the filter to wrap
      Returns:
      a new WhereFilterSerialImpl instance that enforces serial execution
    • maybeUnwrapFilter

      public WhereFilter maybeUnwrapFilter()
      Description copied from interface: WhereFilterDelegating
      Returns the wrapped filter if and only if the wrapped filter accepts the same rows as this filter. For example, serial and barrier wrappers do not change functionality and will return the wrapped filter. Filters such as WhereFilterInvertedImpl that perform a transformation should return themselves.
    • permitParallelization

      public boolean permitParallelization()
      Always returns false to indicate that parallelization is not permitted.
      Specified by:
      permitParallelization in interface WhereFilter
      Overrides:
      permitParallelization in class WhereFilterDelegatingBase
      Returns:
      false
    • isSerial

      public boolean isSerial()
      Description copied from interface: WhereFilter
      Return true if this filter is a serial filter.

      A filter only returns true if the user explicitly marked the filter (or a filter that it wraps) as serial. A serial filter must not permit parallelism (as being executed in parallel would violate the contract of a serial filter).

      Specified by:
      isSerial in interface WhereFilter
      Overrides:
      isSerial in class WhereFilterDelegatingBase
      Returns:
      true if this filter is a serial filter.
    • copy

      public WhereFilter copy()
      Description copied from interface: WhereFilter
      Create a copy of this WhereFilter.
      Returns:
      an independent copy of this WhereFilter.
    • toString

      public String toString()
      Overrides:
      toString in class ReferenceCounted
    • walk

      public final <T> T walk(WhereFilter.Visitor<T> visitor)
      Description copied from interface: WhereFilter
      This method calls the appropriate visitor method based on the type of this WhereFilter. This will invoke the most specific WhereFilter.Visitor method available.
      Type Parameters:
      T - the return value type
      Parameters:
      visitor - the visitor
      Returns:
      the value