public class RelJsonWriter extends java.lang.Object implements RelWriter
RelJsonReader
Modifier and Type | Field and Description |
---|---|
protected JsonBuilder |
jsonBuilder |
private java.lang.String |
previousId |
private java.util.Map<RelNode,java.lang.String> |
relIdMap |
protected RelJson |
relJson |
protected java.util.List<java.lang.Object> |
relList |
private java.util.List<Pair<java.lang.String,java.lang.Object>> |
values |
Constructor and Description |
---|
RelJsonWriter() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
asString()
Returns a JSON string describing the relational expressions that were just
explained.
|
RelWriter |
done(RelNode node)
Writes the completed explanation.
|
protected void |
explain_(RelNode rel,
java.util.List<Pair<java.lang.String,java.lang.Object>> values) |
void |
explain(RelNode rel,
java.util.List<Pair<java.lang.String,java.lang.Object>> valueList)
Prints an explanation of a node, with a list of (term, value) pairs.
|
private java.util.List<java.lang.Object> |
explainInputs(java.util.List<RelNode> inputs) |
SqlExplainLevel |
getDetailLevel() |
private java.util.List<java.lang.Object> |
getList(java.util.List<Pair<java.lang.String,java.lang.Object>> values,
java.lang.String tag) |
RelWriter |
item(java.lang.String term,
java.lang.Object value)
Adds an attribute to the explanation of the current node.
|
boolean |
nest()
Returns whether the writer prefers nested values.
|
private void |
put(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.String name,
java.lang.Object value) |
protected final JsonBuilder jsonBuilder
protected final RelJson relJson
private final java.util.Map<RelNode,java.lang.String> relIdMap
protected final java.util.List<java.lang.Object> relList
private final java.util.List<Pair<java.lang.String,java.lang.Object>> values
private java.lang.String previousId
protected void explain_(RelNode rel, java.util.List<Pair<java.lang.String,java.lang.Object>> values)
private void put(java.util.Map<java.lang.String,java.lang.Object> map, java.lang.String name, java.lang.Object value)
private java.util.List<java.lang.Object> explainInputs(java.util.List<RelNode> inputs)
public final void explain(RelNode rel, java.util.List<Pair<java.lang.String,java.lang.Object>> valueList)
RelWriter
The term-value pairs are generally gathered by calling
RelNode.explain(RelWriter)
.
Each sub-class of RelNode
calls RelWriter.input(String, org.apache.calcite.rel.RelNode)
and RelWriter.item(String, Object)
to declare term-value pairs.
public SqlExplainLevel getDetailLevel()
getDetailLevel
in interface RelWriter
public RelWriter item(java.lang.String term, java.lang.Object value)
RelWriter
private java.util.List<java.lang.Object> getList(java.util.List<Pair<java.lang.String,java.lang.Object>> values, java.lang.String tag)
public RelWriter done(RelNode node)
RelWriter
public boolean nest()
RelWriter
public java.lang.String asString()
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.