Class ComposedFilter
- All Implemented Interfaces:
Expression
,Filter
,LogOutputAppendable
,LivenessManager
,LivenessNode
,LivenessReferent
,DependencyStreamProvider
,WhereFilter
,Serializable
- Direct Known Subclasses:
ConjunctiveFilter
,DisjunctiveFilter
public abstract class ComposedFilter
extends WhereFilterLivenessArtifactImpl
implements DependencyStreamProvider
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.api.filter.Filter
Filter.Visitor<T>
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
WhereFilter.PreviousFilteringNotSupported, WhereFilter.RecomputeListener
-
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.select.WhereFilterLivenessArtifactImpl
updateGraph
Fields inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
ZERO_LENGTH_WHERE_FILTER_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptionbeginOperation
(@NotNull Table sourceTable) Perform any operation-level initialization necessary using theTable
that will be filtered with this WhereFilter, e.g.boolean
Can this filter operation be memoized?boolean
Get the array columns required by this select filter.Get the columns required by this select filter.protected WhereFilter[]
Return a stream of dependencies for this object.int
hashCode()
void
init
(@NotNull TableDefinition tableDefinition) Initialize this filter given the table definition.void
init
(@NotNull TableDefinition tableDefinition, @NotNull QueryCompilerRequestProcessor compilationProcessor) Initialize this select filter given the table definitionboolean
Is this filter refreshing?boolean
boolean
void
Set theWhereFilter.RecomputeListener
that should be notified if results based on this WhereFilter must be recomputed.void
validateSafeForRefresh
(@NotNull BaseTable<?> sourceTable) Validate that thisWhereFilter
is safe to use in the context of the provided sourceTable.Methods inherited from class io.deephaven.engine.table.impl.select.WhereFilterLivenessArtifactImpl
isAutomatedFilter, setAutomatedFilter
Methods inherited from class io.deephaven.engine.liveness.LivenessArtifact
manageWithCurrentScope
Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanage
Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
destroy, dropReference, tryRetainReference
Methods inherited from class io.deephaven.util.referencecounting.ReferenceCounted
append, decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, toString, tryDecrementReferenceCount, tryIncrementReferenceCount
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage, unmanage, unmanage
Methods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, retainReference, tryRetainReference
Methods inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
copy, filter, filter, filterInverse, hasVirtualRowVariables, invert, walk, walk
-
Method Details
-
getColumns
Description copied from interface:WhereFilter
Get the columns required by this select filter.This filter must already be initialized before calling this method.
- Specified by:
getColumns
in interfaceWhereFilter
- Returns:
- the columns used as input by this select filter.
-
getColumnArrays
Description copied from interface:WhereFilter
Get the array columns required by this select filter.This filter must already be initialized before calling this method.
- Specified by:
getColumnArrays
in interfaceWhereFilter
- Returns:
- the columns used as array input by this select filter.
-
init
Description copied from interface:WhereFilter
Initialize this filter given the table definition. If this filter has already been initialized, this should be a no-op, or optionally validate that the table definition is compatible with previous initialization.- Specified by:
init
in interfaceWhereFilter
- Parameters:
tableDefinition
- the definition of the table that will be filtered
-
init
public void init(@NotNull @NotNull TableDefinition tableDefinition, @NotNull @NotNull QueryCompilerRequestProcessor compilationProcessor) Description copied from interface:WhereFilter
Initialize this select filter given the table definition- Specified by:
init
in interfaceWhereFilter
- Parameters:
tableDefinition
- the definition of the table that will be filteredcompilationProcessor
- the processor to use for compilation
-
beginOperation
Description copied from interface:WhereFilter
Perform any operation-level initialization necessary using theTable
that will be filtered with this WhereFilter, e.g. gatheringdata indexes
. This method will always be called exactly once, before gathering any dependencies or filtering data.- Specified by:
beginOperation
in interfaceWhereFilter
- Parameters:
sourceTable
- TheTable
that will be filtered with this WhereFilter- Returns:
- A
SafeCloseable
that will beclosed
when the operation is complete, whether successful or not
-
validateSafeForRefresh
Description copied from interface:WhereFilter
Validate that thisWhereFilter
is safe to use in the context of the provided sourceTable.- Specified by:
validateSafeForRefresh
in interfaceWhereFilter
- Parameters:
sourceTable
- the source table
-
isSimpleFilter
public boolean isSimpleFilter()- Specified by:
isSimpleFilter
in interfaceWhereFilter
- Returns:
- true if this is a filter that does not require any code execution, but rather is handled entirely within the database engine.
-
getComponentFilters
-
getFilters
-
setRecomputeListener
Description copied from interface:WhereFilter
Set theWhereFilter.RecomputeListener
that should be notified if results based on this WhereFilter must be recomputed.- Specified by:
setRecomputeListener
in interfaceWhereFilter
- Parameters:
listener
- TheWhereFilter.RecomputeListener
to notify
-
isRefreshing
public boolean isRefreshing()Description copied from interface:WhereFilter
Is this filter refreshing?- Specified by:
isRefreshing
in interfaceWhereFilter
- Returns:
- if this filter is refreshing
-
getDependencyStream
Description copied from interface:DependencyStreamProvider
Return a stream of dependencies for this object.- Specified by:
getDependencyStream
in interfaceDependencyStreamProvider
-
canMemoize
public boolean canMemoize()Description copied from interface:WhereFilter
Can this filter operation be memoized?- Specified by:
canMemoize
in interfaceWhereFilter
- Returns:
- if this filter can be memoized
-
equals
-
hashCode
public int hashCode() -
permitParallelization
public boolean permitParallelization()- Specified by:
permitParallelization
in interfaceWhereFilter
- Returns:
- if this filter can be applied in parallel
-