001package gudusoft.gsqlparser.dlineage.dataflow.model;
002
003import gudusoft.gsqlparser.nodes.TParseTreeNode;
004import java.util.ArrayList;
005import java.util.List;
006
007/** A call originating in an executable process, such as an anonymous PL/SQL block. */
008public final class ProcessRelationshipElement implements RelationshipElement<Process> {
009    private final Process process;
010    private final List<Transform> transforms = new ArrayList<Transform>();
011
012    public ProcessRelationshipElement(Process process) {
013        this.process = process;
014    }
015
016    @Override public Process getElement() { return process; }
017    @Override public List<Transform> getTransforms() { return transforms; }
018
019    @Override public void addTransform(String type, TParseTreeNode code) {
020        if (ModelBindingManager.getGlobalOption() != null
021                && !ModelBindingManager.getGlobalOption().isTransform()) return;
022        Transform transform = new Transform();
023        transform.setType(type);
024        transform.setCode(code);
025        transforms.add(transform);
026    }
027}