Class ExpressionRefTraversal
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.temp.ExpressionRefTraversal
-
@API(EXPERIMENTAL) public class ExpressionRefTraversal extends Object
Utility class to provide a view on a graph given by a root expression reference (to aRelationalExpression
that allows to perform traversal operations that are normally not possible on instances ofExpressionRef
such asgetLeaves()
andExpressionRefTraversal.FullyTraversableExpressionRef.getParentRefs()
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
ExpressionRefTraversal.FullyTraversableExpressionRef<T extends RelationalExpression>
Expression reference that provides some additional functionality to navigate to parents, leaves, etc.static class
ExpressionRefTraversal.RefPath
Case class to hold information about the path from an expression to another expression reference.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends RelationalExpression>
ExpressionRefDelegate<T>from(ExpressionRef<T> regularRef)
List<ExpressionRefTraversal.FullyTraversableExpressionRef<? extends RelationalExpression>>
getLeaves()
ExpressionRefTraversal.FullyTraversableExpressionRef<? extends RelationalExpression>
getRoot()
static ExpressionRefTraversal
withRoot(ExpressionRef<? extends RelationalExpression> rootRef)
Construct a traversal object using therootRef
reference passed in.
-
-
-
Method Detail
-
getRoot
@Nonnull public ExpressionRefTraversal.FullyTraversableExpressionRef<? extends RelationalExpression> getRoot()
-
from
@Nonnull public <T extends RelationalExpression> ExpressionRefDelegate<T> from(@Nonnull ExpressionRef<T> regularRef)
-
getLeaves
public List<ExpressionRefTraversal.FullyTraversableExpressionRef<? extends RelationalExpression>> getLeaves()
-
withRoot
public static ExpressionRefTraversal withRoot(ExpressionRef<? extends RelationalExpression> rootRef)
Construct a traversal object using therootRef
reference passed in.- Parameters:
rootRef
- the reference acting as the root for this traversal object- Returns:
- a new traversal object
-
-