Enum Class ParentsVisitor
- All Implemented Interfaces:
TableSpec.Visitor<Stream<TableSpec>>
,Serializable
,Comparable<ParentsVisitor>
,java.lang.constant.Constable
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetOut()
getParents
(TableSpec table) A traversal of the table's parents.Create a post-order set fromtables
.postOrderList
(Iterable<TableSpec> tables) Create a de-duplicated, post-order list fromtables
.static void
postOrderWalk
(Iterable<TableSpec> tables, TableSpec.Visitor visitor) Walk thevisitor
for each table in the de-duplicated, post-order walk fromtables
.static void
postOrderWalk
(Iterable<TableSpec> tables, Consumer<TableSpec> consumer) Invoke theconsumer
for each table in the de-duplicated, post-order walk fromtables
.Create a reachable set fromtables
, includingtables
.search
(Iterable<TableSpec> initialInputs, Predicate<TableSpec> excludePaths, Predicate<TableSpec> searchPredicate) Performs a search for a table that satisfiessearchPredicate
.static ParentsVisitor
Returns the enum constant of this class with the specified name.static ParentsVisitor[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.visit
(AggregateAllTable aggregateAllTable) visit
(AggregateTable aggregateTable) visit
(AsOfJoinTable aj) visit
(DropColumnsTable dropColumnsTable) visit
(EmptyTable emptyTable) visit
(ExactJoinTable exactJoinTable) visit
(InputTable inputTable) visit
(LazyUpdateTable lazyUpdateTable) visit
(MergeTable mergeTable) visit
(MultiJoinTable multiJoinTable) visit
(NaturalJoinTable naturalJoinTable) visit
(RangeJoinTable rangeJoinTable) visit
(ReverseTable reverseTable) visit
(SelectDistinctTable selectDistinctTable) visit
(SelectTable selectTable) visit
(SnapshotTable snapshotTable) visit
(SnapshotWhenTable snapshotWhenTable) visit
(TicketTable ticketTable) visit
(UngroupTable ungroupTable) visit
(UpdateByTable updateByTable) visit
(UpdateTable updateTable) visit
(UpdateViewTable updateViewTable) visit
(WhereInTable whereInTable) visit
(WhereTable whereTable)
-
Enum Constant Details
-
INSTANCE
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-
getParents
A traversal of the table's parents. Does not perform de-duplication.- Parameters:
table
- the table- Returns:
- the parents stream
-
postOrder
Create a post-order set fromtables
.Post-order means that for any given table, the table's dependencies will come before the table itself. There may be multiple valid post-orderings; callers should not rely on a specific post-ordering.
- Parameters:
tables
- the tables- Returns:
- the post-order set
-
postOrderList
Create a de-duplicated, post-order list fromtables
.Post-order means that for any given table, the table's dependencies will come before the table itself. There may be multiple valid post-orderings; callers should not rely on a specific post-ordering.
- Parameters:
tables
- the tables- Returns:
- the de-duplicated, post-order list
-
postOrderWalk
Invoke theconsumer
for each table in the de-duplicated, post-order walk fromtables
.Post-order means that for any given table, the table's dependencies will come before the table itself. There may be multiple valid post-orderings; callers should not rely on a specific post-ordering.
- Parameters:
tables
- the tablesconsumer
- the consumer
-
postOrderWalk
Walk thevisitor
for each table in the de-duplicated, post-order walk fromtables
.Post-order means that for any given table, the table's dependencies will come before the table itself. There may be multiple valid post-orderings; callers should not rely on a specific post-ordering.
- Parameters:
tables
- the tablesvisitor
- the visitor
-
reachable
Create a reachable set fromtables
, includingtables
. May be in any order.- Parameters:
tables
- the tables- Returns:
- the reachable set
-
search
public static Optional<TableSpec> search(Iterable<TableSpec> initialInputs, Predicate<TableSpec> excludePaths, Predicate<TableSpec> searchPredicate) Performs a search for a table that satisfiessearchPredicate
. Will follow the dependencies ofinitialInputs
. Tables that matchexcludePaths
will not be returned, and will not have its dependencies added to the search.Note: a dependency of a table that matches
excludePaths
will be returned if there is any path to that dependency that doesn't go throughexcludePaths
. -
getOut
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-
visit
- Specified by:
visit
in interfaceTableSpec.Visitor<Stream<TableSpec>>
-