001package gudusoft.gsqlparser.dlineage.dataflow.sqlenv.model;
002
003import java.util.ArrayList;
004import java.util.List;
005
006import javax.xml.bind.annotation.XmlAttribute;
007import javax.xml.bind.annotation.XmlElement;
008import javax.xml.bind.annotation.XmlType;
009
010@XmlType(
011        propOrder = {"name", "tables","oraclePackages", "procedures", "synonyms"}
012)
013public class Schema {
014    private String name;
015    private List<Table> tables;
016    private List<OraclePackage> oraclePackages;
017    private List<Procedure> procedures;
018    private List<Synonym> synonyms;
019
020    @XmlAttribute(required = true)
021    public String getName() {
022        return name;
023    }
024
025    public void setName(String name) {
026        this.name = name;
027    }
028
029    @XmlElement(name = "table", required = false)
030    public List<Table> getTables() {
031        return tables;
032    }
033
034    public void setTables(List<Table> tables) {
035        this.tables = tables;
036    }
037
038    public void appendTable(Table table) {
039        if (tables == null) {
040            tables = new ArrayList<>();
041        }
042        tables.add(table);
043    }
044
045    @XmlElement(name = "oraclePackage", required = false)
046    public List<OraclePackage> getOraclePackages() {
047        return oraclePackages;
048    }
049
050    public void setOraclePackages(List<OraclePackage> oraclePackages) {
051        this.oraclePackages = oraclePackages;
052    }
053
054    public void appendOraclePackage(OraclePackage oraclePackage) {
055        if (oraclePackages == null) {
056            oraclePackages = new ArrayList<>();
057        }
058        oraclePackages.add(oraclePackage);
059    }
060    
061    @XmlElement(name = "procedure", required = false)
062    public List<Procedure> getProcedures() {
063        return procedures;
064    }
065
066    public void setProcedures(List<Procedure> procedures) {
067        this.procedures = procedures;
068    }
069
070    public void appendProcedure(Procedure procedure) {
071        if (procedures == null) {
072            procedures = new ArrayList<>();
073        }
074        procedures.add(procedure);
075    }
076
077    @XmlElement(name = "synonym", required = false)
078    public List<Synonym> getSynonyms() {
079        return synonyms;
080    }
081
082    public void setSynonyms(List<Synonym> synonyms) {
083        this.synonyms = synonyms;
084    }
085
086    public void appendSynonym(Synonym synonym) {
087        if (synonyms == null) {
088            synonyms = new ArrayList<>();
089        }
090        synonyms.add(synonym);
091    }
092}