Class WhereFilterSerialImpl
java.lang.Object
io.deephaven.util.referencecounting.ReferenceCounted
io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
io.deephaven.engine.liveness.ReferenceCountedLivenessNode
io.deephaven.engine.liveness.LivenessArtifact
io.deephaven.engine.table.impl.select.WhereFilterLivenessArtifactImpl
io.deephaven.engine.table.impl.select.WhereFilterDelegatingBase
io.deephaven.engine.table.impl.select.WhereFilterSerialImpl
- All Implemented Interfaces:
ConcurrencyControl<Filter>,Expression,Filter,LogOutputAppendable,LivenessManager,LivenessNode,LivenessReferent,DependencyStreamProvider,WhereFilter,WhereFilterDelegating,Serializable
A serial wrapper for a
WhereFilter that enforces serial (non-parallel) execution.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
WhereFilter.PreviousFilteringNotSupported, WhereFilter.RecomputeListener, WhereFilter.Visitor<T> -
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.select.WhereFilterDelegatingBase
filterFields inherited from class io.deephaven.engine.table.impl.select.WhereFilterLivenessArtifactImpl
updateGraphFields inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
ZERO_LENGTH_WHERE_FILTER_ARRAY -
Method Summary
Modifier and TypeMethodDescriptioncopy()Create a copy of this WhereFilter.booleanisSerial()Return true if this filter is aserialfilter.Returns the wrapped filter if and only if the wrapped filter accepts the same rows as this filter.static WhereFilterof(WhereFilter filter) Wraps the providedWhereFilterwith serial behavior.booleanAlways returnsfalseto indicate that parallelization is not permitted.toString()final <T> Twalk(WhereFilter.Visitor<T> visitor) Methods inherited from class io.deephaven.engine.table.impl.select.WhereFilterDelegatingBase
beginOperation, canMemoize, equals, filter, filterInverse, getColumnArrays, getColumns, getDependencyStream, getWrappedFilter, hashCode, init, init, isAutomatedFilter, isRefreshing, isSimpleFilter, setAutomatedFilter, setRecomputeListener, validateSafeForRefreshMethods inherited from class io.deephaven.engine.liveness.LivenessArtifact
manageWithCurrentScopeMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
ensureCleanupOnGC, findAnyManagedReferent, forEachManagedReference, getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanageMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
destroy, dropReference, tryRetainReferenceMethods inherited from class io.deephaven.util.referencecounting.ReferenceCounted
append, decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, tryDecrementReferenceCount, tryIncrementReferenceCountMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage, unmanage, unmanageMethods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, retainReference, tryRetainReferenceMethods inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
filter, hasVirtualRowVariables, invert, walk, walk, withDeclaredBarriers, withRespectedBarriers, withSerial
-
Method Details
-
of
Wraps the providedWhereFilterwith serial behavior.- Parameters:
filter- the filter to wrap- Returns:
- a new
WhereFilterSerialImplinstance that enforces serial execution
-
maybeUnwrapFilter
Description copied from interface:WhereFilterDelegatingReturns 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 asWhereFilterInvertedImplthat perform a transformation should return themselves. -
permitParallelization
public boolean permitParallelization()Always returnsfalseto indicate that parallelization is not permitted.- Specified by:
permitParallelizationin interfaceWhereFilter- Overrides:
permitParallelizationin classWhereFilterDelegatingBase- Returns:
- false
-
isSerial
public boolean isSerial()Description copied from interface:WhereFilterReturn true if this filter is aserialfilter.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:
isSerialin interfaceWhereFilter- Overrides:
isSerialin classWhereFilterDelegatingBase- Returns:
- true if this filter is a serial filter.
-
copy
Description copied from interface:WhereFilterCreate a copy of this WhereFilter.- Returns:
- an independent copy of this WhereFilter.
-
toString
- Overrides:
toStringin classReferenceCounted
-
walk
Description copied from interface:WhereFilterThis method calls the appropriatevisitormethod based on the type ofthisWhereFilter. This will invoke the most specificWhereFilter.Visitormethod available.- Type Parameters:
T- the return value type- Parameters:
visitor- the visitor- Returns:
- the value
-