Package com.illumon.iris.db.v2.sources
Class UnionSourceManager
java.lang.Object
com.illumon.iris.db.v2.sources.UnionSourceManager
public class UnionSourceManager extends Object
-
Constructor Summary
Constructors Constructor Description UnionSourceManager(com.fishlib.io.logger.Logger log, TableDefinition tableDefinition, NotificationQueue.Dependency parentDependency)
-
Method Summary
Modifier and Type Method Description void
addTable(Table table, boolean onNewTableMapKey)
Adds a table to the managed constituents.boolean
allowsReinterpret()
Determine whether column sources that use this manager should allow reinterpret.Map<String,UnionColumnSource>
getColumnSources()
Collection<Table>
getComponentTables()
QueryTable
getResult()
boolean
isUsingComponentsSafe()
Determine whether using the component tables directly in a subsequent merge will affect the correctness of the merge.void
noteUsingComponentsIsUnsafe()
Note that this UnionSourceManager might have tables added dynamically throughout its lifetime.void
setDisallowReinterpret()
Specify that columns sources using this manager should not allow reinterpret.void
setRefreshing()
Ensure that this UnionSourceManager will be refreshing.
-
Constructor Details
-
UnionSourceManager
public UnionSourceManager(com.fishlib.io.logger.Logger log, TableDefinition tableDefinition, @Nullable NotificationQueue.Dependency parentDependency)
-
-
Method Details
-
setRefreshing
public void setRefreshing()Ensure that this UnionSourceManager will be refreshing. Should be called proactively if it is expected that refreshing DynamicTables may be added *after* the initial set, in order to ensure that children of the result table are correctly setup to listen and refresh. -
setDisallowReinterpret
public void setDisallowReinterpret()Specify that columns sources using this manager should not allow reinterpret. -
allowsReinterpret
public boolean allowsReinterpret()Determine whether column sources that use this manager should allow reinterpret.- Returns:
- If
ColumnSource.reinterpret(Class)
is allowed
-
noteUsingComponentsIsUnsafe
public void noteUsingComponentsIsUnsafe()Note that this UnionSourceManager might have tables added dynamically throughout its lifetime. -
isUsingComponentsSafe
public boolean isUsingComponentsSafe()Determine whether using the component tables directly in a subsequent merge will affect the correctness of the merge.- Returns:
- If using the component tables is allowed.
-
addTable
Adds a table to the managed constituents.- Parameters:
table
- the new tableonNewTableMapKey
- whether this table is being added after the initial setup
-
getColumnSources
-
getComponentTables
-
getResult
-