public abstract class org.finos.legend.engine.persistence.components.transformer.AbstractTransformer extends java.lang.Object implements org.finos.legend.engine.persistence.components.transformer.Transformer
{
private final org.finos.legend.engine.persistence.components.sink.Sink sink;
private final org.finos.legend.engine.persistence.components.transformer.TransformOptions options;
protected void <init>(org.finos.legend.engine.persistence.components.sink.Sink, org.finos.legend.engine.persistence.components.transformer.TransformOptions)
{
org.finos.legend.engine.persistence.components.transformer.AbstractTransformer v;
org.finos.legend.engine.persistence.components.transformer.TransformOptions v;
org.finos.legend.engine.persistence.components.sink.Sink v;
v := @this: org.finos.legend.engine.persistence.components.transformer.AbstractTransformer;
v := @parameter: org.finos.legend.engine.persistence.components.sink.Sink;
v := @parameter: org.finos.legend.engine.persistence.components.transformer.TransformOptions;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.sink.Sink sink> = v;
v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.transformer.TransformOptions options> = v;
return;
}
public org.finos.legend.engine.persistence.components.transformer.TransformOptions options()
{
org.finos.legend.engine.persistence.components.transformer.AbstractTransformer v;
org.finos.legend.engine.persistence.components.transformer.TransformOptions v;
v := @this: org.finos.legend.engine.persistence.components.transformer.AbstractTransformer;
v = v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.transformer.TransformOptions options>;
return v;
}
protected abstract org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlan createPhysicalPlan(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNodes);
public org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlan generatePhysicalPlan(org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan)
{
org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult v, v;
org.finos.legend.engine.persistence.components.transformer.TransformOptions v;
org.finos.legend.engine.persistence.components.transformer.AbstractTransformer v;
boolean v, v;
java.util.Iterator v, v;
java.util.Collection v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.List v;
org.finos.legend.engine.persistence.components.transformer.VisitorContext v;
java.lang.Object v, v;
org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNodes v;
org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlan v;
v := @this: org.finos.legend.engine.persistence.components.transformer.AbstractTransformer;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan;
v = v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.transformer.TransformOptions options>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.transformer.VisitorContext createContext(org.finos.legend.engine.persistence.components.transformer.TransformOptions)>(v);
v = new org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNodes;
specialinvoke v.<org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNodes: void <init>()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: java.util.List ops()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = specialinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult visit(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode,org.finos.legend.engine.persistence.components.logicalplan.operations.Operation,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v, v);
specialinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: void constructPhysicalPlanForChildren(org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult: java.util.Collection getOtherOps()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = specialinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult visit(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode,org.finos.legend.engine.persistence.components.logicalplan.operations.Operation,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v, v);
specialinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: void constructPhysicalPlanForChildren(org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlan createPhysicalPlan(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNodes)>(v);
return v;
}
protected org.finos.legend.engine.persistence.components.transformer.VisitorContext createContext(org.finos.legend.engine.persistence.components.transformer.TransformOptions)
{
org.finos.legend.engine.persistence.components.transformer.TransformOptions v;
org.finos.legend.engine.persistence.components.transformer.AbstractTransformer v;
java.lang.String v, v;
org.finos.legend.engine.persistence.components.sink.Sink v;
java.util.List v;
org.finos.legend.engine.persistence.components.transformer.VisitorContext v;
java.util.Optional v, v, v, v, v;
org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder v, v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.transformer.AbstractTransformer;
v := @parameter: org.finos.legend.engine.persistence.components.transformer.TransformOptions;
v = staticinvoke <org.finos.legend.engine.persistence.components.transformer.VisitorContext: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.TransformOptions: java.util.Optional batchStartTimestampPattern()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder batchStartTimestampPattern(java.util.Optional)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.TransformOptions: java.util.Optional batchEndTimestampPattern()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder batchEndTimestampPattern(java.util.Optional)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.TransformOptions: java.lang.String batchStartTimestampValue()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder batchStartTimestamp(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.TransformOptions: java.util.Optional batchIdPattern()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder batchIdPattern(java.util.Optional)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.TransformOptions: java.util.Optional infiniteBatchIdValue()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder infiniteBatchIdValue(java.util.Optional)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.TransformOptions: java.util.Optional bulkLoadBatchStatusPattern()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder bulkLoadBatchStatusPattern(java.util.Optional)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.TransformOptions: java.util.List optimizers()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder addAllOptimizers(java.lang.Iterable)>(v);
v = v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: java.lang.String quoteIdentifier()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder quoteIdentifier(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.VisitorContext$Builder: org.finos.legend.engine.persistence.components.transformer.VisitorContext build()>();
return v;
}
private org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult visit(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode, org.finos.legend.engine.persistence.components.logicalplan.operations.Operation, org.finos.legend.engine.persistence.components.transformer.VisitorContext)
{
org.finos.legend.engine.persistence.components.sink.Sink v;
org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult v;
org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode v;
org.finos.legend.engine.persistence.components.transformer.VisitorContext v;
org.finos.legend.engine.persistence.components.transformer.AbstractTransformer v;
org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor v;
java.lang.Class v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Operation v;
v := @this: org.finos.legend.engine.persistence.components.transformer.AbstractTransformer;
v := @parameter: org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.operations.Operation;
v := @parameter: org.finos.legend.engine.persistence.components.transformer.VisitorContext;
v = v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor visitorForClass(java.lang.Class)>(v);
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult visit(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode,org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v, v);
return v;
}
private void constructPhysicalPlanForChildren(org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult, org.finos.legend.engine.persistence.components.transformer.VisitorContext)
{
org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult v, v, v;
org.finos.legend.engine.persistence.components.transformer.AbstractTransformer v;
org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor v;
boolean v, v;
java.util.Iterator v, v;
java.util.Collection v, v;
org.finos.legend.engine.persistence.components.sink.Sink v;
org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode v, v;
org.finos.legend.engine.persistence.components.transformer.VisitorContext v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.transformer.AbstractTransformer;
v := @parameter: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult;
v := @parameter: org.finos.legend.engine.persistence.components.transformer.VisitorContext;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult: java.util.Collection getNextItems()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor visitorForClass(java.lang.Class)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult: org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode getReturnValue()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult visit(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode,org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v, v);
specialinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: void constructPhysicalPlanForChildren(org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult: java.util.Collection getOtherOps()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult: org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode getReturnValue()>();
v = specialinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult visit(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode,org.finos.legend.engine.persistence.components.logicalplan.operations.Operation,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v, v);
specialinvoke v.<org.finos.legend.engine.persistence.components.transformer.AbstractTransformer: void constructPhysicalPlanForChildren(org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v);
goto label;
label:
return;
}
}