Package dev.cel.common.navigation
Class CelNavigableExpr
- java.lang.Object
-
- dev.cel.common.navigation.CelNavigableExpr
-
public abstract class CelNavigableExpr extends java.lang.ObjectCelNavigableExpr represents the base navigable expression value with methods to inspect the parent and child expressions.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCelNavigableExpr.BuilderBuilder to configureCelNavigableExpr.static classCelNavigableExpr.TraversalOrderSpecifies the traversal order of AST navigation.
-
Constructor Summary
Constructors Constructor Description CelNavigableExpr()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.stream.Stream<CelNavigableExpr>allNodes()Returns a stream ofCelNavigableExprcollected from the current node down to the last leaf-level member using post-order traversal.java.util.stream.Stream<CelNavigableExpr>allNodes(CelNavigableExpr.TraversalOrder traversalOrder)Returns a stream ofCelNavigableExprcollected from the current node down to the last leaf-level member using the specified traversal order.static CelNavigableExpr.Builderbuilder()Create a new builder to construct aCelNavigableExprinstance.java.util.stream.Stream<CelNavigableExpr>children()Returns a stream ofCelNavigableExprcollected from its immediate children using post-order traversal.java.util.stream.Stream<CelNavigableExpr>children(CelNavigableExpr.TraversalOrder traversalOrder)Returns a stream ofCelNavigableExprcollected from its immediate children using the specified traversal order.abstract intdepth()Represents the count of transitive parents.java.util.stream.Stream<CelNavigableExpr>descendants()Returns a stream ofCelNavigableExprcollected down to the last leaf-level member using post-order traversal.java.util.stream.Stream<CelNavigableExpr>descendants(CelNavigableExpr.TraversalOrder traversalOrder)Returns a stream ofCelNavigableExprcollected down to the last leaf-level member using the specified traversal order.abstract CelExprexpr()static CelNavigableExprfromExpr(CelExpr expr)Constructs a new instance ofCelNavigableExprfromCelExpr.CelExpr.ExprKind.KindgetKind()Returns the underlying kind of theCelExpr.abstract java.util.Optional<CelNavigableExpr>parent()
-
-
-
Method Detail
-
expr
public abstract CelExpr expr()
-
parent
public abstract java.util.Optional<CelNavigableExpr> parent()
-
depth
public abstract int depth()
Represents the count of transitive parents. Depth of an AST's root is 0.
-
fromExpr
public static CelNavigableExpr fromExpr(CelExpr expr)
Constructs a new instance ofCelNavigableExprfromCelExpr.
-
allNodes
public java.util.stream.Stream<CelNavigableExpr> allNodes()
Returns a stream ofCelNavigableExprcollected from the current node down to the last leaf-level member using post-order traversal.
-
allNodes
public java.util.stream.Stream<CelNavigableExpr> allNodes(CelNavigableExpr.TraversalOrder traversalOrder)
Returns a stream ofCelNavigableExprcollected from the current node down to the last leaf-level member using the specified traversal order.
-
descendants
public java.util.stream.Stream<CelNavigableExpr> descendants()
Returns a stream ofCelNavigableExprcollected down to the last leaf-level member using post-order traversal.
-
descendants
public java.util.stream.Stream<CelNavigableExpr> descendants(CelNavigableExpr.TraversalOrder traversalOrder)
Returns a stream ofCelNavigableExprcollected down to the last leaf-level member using the specified traversal order.
-
children
public java.util.stream.Stream<CelNavigableExpr> children()
Returns a stream ofCelNavigableExprcollected from its immediate children using post-order traversal.
-
children
public java.util.stream.Stream<CelNavigableExpr> children(CelNavigableExpr.TraversalOrder traversalOrder)
Returns a stream ofCelNavigableExprcollected from its immediate children using the specified traversal order.
-
getKind
public CelExpr.ExprKind.Kind getKind()
Returns the underlying kind of theCelExpr.
-
builder
public static CelNavigableExpr.Builder builder()
Create a new builder to construct aCelNavigableExprinstance.
-
-