Class NodeInfo<T extends Node<?>>
java.lang.Object
org.elasticsearch.xpack.esql.core.tree.NodeInfo<T>
- Type Parameters:
T- actual subclass of node that produced this NodeInfo
Information about a
Node.
All the uses of this are fairly non-OO and we're looking for ways to use this less and less.
The implementations of this class are super copy-and-paste-ish but they are better then the sneaky reflection tricks we had earlier. Still terrifying.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interfacestatic interface -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptioncreate(T n) Builds aNodeInfofor Nodes without any properties.create(T n, BiFunction<Source, P1, T> ctor, P1 p1) create(T n, NodeInfo.NodeCtor10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10) create(T n, NodeInfo.NodeCtor2<P1, P2, T> ctor, P1 p1, P2 p2) create(T n, NodeInfo.NodeCtor3<P1, P2, P3, T> ctor, P1 p1, P2 p2, P3 p3) create(T n, NodeInfo.NodeCtor4<P1, P2, P3, P4, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4) create(T n, NodeInfo.NodeCtor5<P1, P2, P3, P4, P5, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) create(T n, NodeInfo.NodeCtor6<P1, P2, P3, P4, P5, P6, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) create(T n, NodeInfo.NodeCtor7<P1, P2, P3, P4, P5, P6, P7, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) create(T n, NodeInfo.NodeCtor8<P1, P2, P3, P4, P5, P6, P7, P8, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) create(T n, NodeInfo.NodeCtor9<P1, P2, P3, P4, P5, P6, P7, P8, P9, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9) protected abstract TinnerTransform(Function<Object, Object> rule) Values for all properties on the instance that created this NodeInfo.
-
Field Details
-
node
-
-
Method Details
-
properties
Values for all properties on the instance that created this NodeInfo. -
innerProperties
-
innerTransform
-
create
Builds aNodeInfofor Nodes without any properties. -
create
-
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2> (T n, NodeInfo.NodeCtor2<P1, P2, T> ctor, P1 p1, P2 p2) -
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2, P3> (T n, NodeInfo.NodeCtor3<P1, P2, P3, T> ctor, P1 p1, P2 p2, P3 p3) -
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2, P3, P4> (T n, NodeInfo.NodeCtor4<P1, P2, P3, P4, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4) -
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2, P3, P4, P5> (T n, NodeInfo.NodeCtor5<P1, P2, P3, P4, P5, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) -
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2, P3, P4, P5, P6> (T n, NodeInfo.NodeCtor6<P1, P2, P3, P4, P5, P6, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) -
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2, P3, P4, P5, P6, P7> (T n, NodeInfo.NodeCtor7<P1, P2, P3, P4, P5, P6, P7, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) -
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2, P3, P4, P5, P6, P7, P8> (T n, NodeInfo.NodeCtor8<P1, P2, P3, P4, P5, P6, P7, P8, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) -
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2, P3, P4, P5, P6, P7, P8, P9> (T n, NodeInfo.NodeCtor9<P1, P2, P3, P4, P5, P6, P7, P8, P9, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9) -
create
public static <T extends Node<?>,P1, NodeInfo<T> createP2, P3, P4, P5, P6, P7, P8, P9, P10> (T n, NodeInfo.NodeCtor10<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, T> ctor, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10)
-