001package gudusoft.gsqlparser.dlineage.dataflow.model.xml;
002
003import gudusoft.gsqlparser.dlineage.dataflow.model.ModelBindingManager;
004import gudusoft.gsqlparser.util.SQLUtil;
005
006import javax.xml.bind.annotation.XmlAttribute;
007import javax.xml.bind.annotation.XmlElement;
008import javax.xml.bind.annotation.XmlTransient;
009import javax.xml.bind.annotation.XmlType;
010import java.util.LinkedList;
011import java.util.List;
012
013@XmlType(propOrder = { "id", "server", "database", "schema", "name", "type", "coordinate", "arguments" })
014public class procedure {
015
016        private String id;
017        
018        private String server;
019
020        private String database;
021
022        private String schema;
023
024        private String name;
025
026        private String type;
027
028        private String coordinate;
029
030        private List<argument> arguments;
031
032        @XmlTransient
033        private oraclePackage oraclePackage;
034
035        public procedure() {
036        }
037
038        @XmlAttribute(required = false)
039        public String getCoordinate() {
040                if (ModelBindingManager.getGlobalOption()!=null && ModelBindingManager.getGlobalOption().isIgnoreCoordinate()) {
041                        return null;
042                }
043                return this.coordinate;
044        }
045
046        public void setCoordinate(String coordinate) {
047                if (ModelBindingManager.getGlobalOption()!=null && ModelBindingManager.getGlobalOption().isIgnoreCoordinate()) {
048                        return;
049                }
050                this.coordinate = coordinate;
051        }
052
053        @XmlAttribute(required = false)
054        public String getName() {
055                return this.name;
056        }
057
058        public void setName(String name) {
059                this.name = name;
060        }
061
062        @XmlAttribute(required = false)
063        public String getId() {
064                return this.id;
065        }
066
067        public void setId(String id) {
068                this.id = id;
069        }
070
071        @XmlAttribute(required = false)
072        public String getType() {
073                return this.type;
074        }
075
076        public void setType(String type) {
077                this.type = type;
078        }
079
080        @XmlElement(name = "argument", required = false)
081        public List<argument> getArguments() {
082                if (this.arguments == null) {
083                        this.arguments = new LinkedList<argument>();
084                }
085                return this.arguments;
086        }
087
088        public void setArguments(List<argument> arguments) {
089                this.arguments = arguments;
090        }
091
092        @XmlAttribute(required = false)
093        public String getDatabase() {
094                return database;
095        }
096
097        public void setDatabase(String database) {
098                if (SQLUtil.parseNames(database).size() > 1) {
099                        database = "\"" + database + "\"";
100                }
101                this.database = database;
102        }
103
104        @XmlAttribute(required = false)
105        public String getSchema() {
106                return schema;
107        }
108
109        public void setSchema(String schema) {
110                if (SQLUtil.parseNames(schema).size() > 1) {
111                        schema = "\"" + schema + "\"";
112                }
113                this.schema = schema;
114        }
115
116        @XmlAttribute(required = false)
117        public String getServer() {
118                return server;
119        }
120
121        public void setServer(String server) {
122                this.server = server;
123        }
124
125        @XmlTransient
126        public oraclePackage getOraclePackage() {
127                return oraclePackage;
128        }
129
130        public void setOraclePackage(gudusoft.gsqlparser.dlineage.dataflow.model.xml.oraclePackage oraclePackage) {
131                this.oraclePackage = oraclePackage;
132        }
133}