public class org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer extends java.lang.Object
{
private final org.eclipse.collections.api.map.MutableMap comparator;
private final org.eclipse.collections.api.map.MutableMap binaryComparator;
private final org.eclipse.collections.api.map.MutableMap arithmetic;
private final org.eclipse.collections.api.map.MutableMap joins;
private final org.eclipse.collections.api.map.MutableMap currentTime;
private final org.eclipse.collections.api.map.MutableMap frameBoundType;
private void <init>()
{
org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType v, v, v, v, v;
org.eclipse.collections.impl.map.mutable.UnifiedMap v, v, v, v, v, v;
org.finos.legend.engine.protocol.sql.metamodel.JoinType v, v, v, v;
org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType v, v, v, v, v, v;
org.eclipse.collections.api.tuple.Pair[] v, v, v, v, v, v;
org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer v;
org.finos.legend.engine.protocol.sql.metamodel.CurrentTimeType v, v, v;
org.finos.legend.engine.protocol.sql.metamodel.LogicalBinaryType v, v;
org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.eclipse.collections.api.tuple.Pair v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer;
specialinvoke v.<java.lang.Object: void <init>()>();
v = newarray (org.eclipse.collections.api.tuple.Pair)[16];
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator EQUAL>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "=");
v[0] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator NOT_EQUAL>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "!=");
v[1] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator GREATER_THAN>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, ">");
v[2] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator LESS_THAN>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "<");
v[3] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator LESS_THAN_OR_EQUAL>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "<=");
v[4] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator GREATER_THAN_OR_EQUAL>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, ">=");
v[5] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator IS_DISTINCT_FROM>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "IS DISTINCT FROM");
v[6] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator IS_NOT_DISTINCT_FROM>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "IS NOT DISTINCT FROM");
v[7] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator REGEX_MATCH>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "~");
v[8] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator REGEX_MATCH_CI>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "~*");
v[9] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator REGEX_NO_MATCH>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "!~");
v[10] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator REGEX_NO_MATCH_CI>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "!~*");
v[11] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator LIKE>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "~~");
v[12] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator ILIKE>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "~~*");
v[13] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator NOT_LIKE>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "!~~");
v[14] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator: org.finos.legend.engine.protocol.sql.metamodel.ComparisonOperator NOT_ILIKE>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "!~~*");
v[15] = v;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMapWith(org.eclipse.collections.api.tuple.Pair[])>(v);
v.<org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer: org.eclipse.collections.api.map.MutableMap comparator> = v;
v = newarray (org.eclipse.collections.api.tuple.Pair)[2];
v = <org.finos.legend.engine.protocol.sql.metamodel.LogicalBinaryType: org.finos.legend.engine.protocol.sql.metamodel.LogicalBinaryType AND>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "AND");
v[0] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.LogicalBinaryType: org.finos.legend.engine.protocol.sql.metamodel.LogicalBinaryType OR>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "OR");
v[1] = v;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMapWith(org.eclipse.collections.api.tuple.Pair[])>(v);
v.<org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer: org.eclipse.collections.api.map.MutableMap binaryComparator> = v;
v = newarray (org.eclipse.collections.api.tuple.Pair)[6];
v = <org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType: org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType ADD>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "+");
v[0] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType: org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType SUBTRACT>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "-");
v[1] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType: org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType MULTIPLY>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "*");
v[2] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType: org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType DIVIDE>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "/");
v[3] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType: org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType MODULUS>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "%");
v[4] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType: org.finos.legend.engine.protocol.sql.metamodel.ArithmeticType POWER>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "^");
v[5] = v;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMapWith(org.eclipse.collections.api.tuple.Pair[])>(v);
v.<org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer: org.eclipse.collections.api.map.MutableMap arithmetic> = v;
v = newarray (org.eclipse.collections.api.tuple.Pair)[4];
v = <org.finos.legend.engine.protocol.sql.metamodel.JoinType: org.finos.legend.engine.protocol.sql.metamodel.JoinType LEFT>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "LEFT OUTER");
v[0] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.JoinType: org.finos.legend.engine.protocol.sql.metamodel.JoinType RIGHT>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "RIGHT OUTER");
v[1] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.JoinType: org.finos.legend.engine.protocol.sql.metamodel.JoinType INNER>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "INNER");
v[2] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.JoinType: org.finos.legend.engine.protocol.sql.metamodel.JoinType CROSS>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "CROSS");
v[3] = v;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMapWith(org.eclipse.collections.api.tuple.Pair[])>(v);
v.<org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer: org.eclipse.collections.api.map.MutableMap joins> = v;
v = newarray (org.eclipse.collections.api.tuple.Pair)[3];
v = <org.finos.legend.engine.protocol.sql.metamodel.CurrentTimeType: org.finos.legend.engine.protocol.sql.metamodel.CurrentTimeType TIME>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "CURRENT_TIME");
v[0] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.CurrentTimeType: org.finos.legend.engine.protocol.sql.metamodel.CurrentTimeType TIMESTAMP>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "CURRENT_TIMESTAMP");
v[1] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.CurrentTimeType: org.finos.legend.engine.protocol.sql.metamodel.CurrentTimeType DATE>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "CURRENT_DATE");
v[2] = v;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMapWith(org.eclipse.collections.api.tuple.Pair[])>(v);
v.<org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer: org.eclipse.collections.api.map.MutableMap currentTime> = v;
v = newarray (org.eclipse.collections.api.tuple.Pair)[5];
v = <org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType: org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType CURRENT_ROW>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "CURRENT ROW");
v[0] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType: org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType FOLLOWING>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "FOLLOWING");
v[1] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType: org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType PRECEDING>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "PRECEDING");
v[2] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType: org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType UNBOUNDED_FOLLOWING>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "UNBOUNDED FOLLOWING");
v[3] = v;
v = <org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType: org.finos.legend.engine.protocol.sql.metamodel.FrameBoundType UNBOUNDED_PRECEDING>;
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, "UNBOUNDED PRECEDING");
v[4] = v;
v = staticinvoke <org.eclipse.collections.impl.map.mutable.UnifiedMap: org.eclipse.collections.impl.map.mutable.UnifiedMap newMapWith(org.eclipse.collections.api.tuple.Pair[])>(v);
v.<org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer: org.eclipse.collections.api.map.MutableMap frameBoundType> = v;
return;
}
public static org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer newInstance()
{
org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer v;
v = new org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer;
specialinvoke v.<org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer: void <init>()>();
return v;
}
public java.lang.String renderNode(org.finos.legend.engine.protocol.sql.metamodel.Node)
{
org.finos.legend.engine.protocol.sql.metamodel.Node v;
org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer v;
java.lang.Object v;
org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer$1 v;
v := @this: org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer;
v := @parameter: org.finos.legend.engine.protocol.sql.metamodel.Node;
v = new org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer$1;
specialinvoke v.<org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer$1: void <init>(org.finos.legend.engine.language.sql.grammar.'to'.SQLGrammarComposer)>(v);
v = virtualinvoke v.<org.finos.legend.engine.protocol.sql.metamodel.Node: java.lang.Object accept(org.finos.legend.engine.protocol.sql.metamodel.NodeVisitor)>(v);
return v;
}
}