001package gudusoft.gsqlparser.dlineage.metadata; 002 003import java.util.ArrayList; 004import java.util.List; 005 006import gudusoft.gsqlparser.dlineage.dataflow.model.ModelBindingManager; 007import gudusoft.gsqlparser.util.json.JSONField; 008 009public class Procedure extends TreeNode { 010 011 private String name; 012 private String type; 013 private List<Argument> arguments; 014 private Coordinate[] coordinates; 015 016 public String getName() { 017 return name; 018 } 019 020 public void setName(String name) { 021 this.name = name; 022 } 023 024 public List<Argument> getArguments() { 025 return arguments; 026 } 027 028 public void setArguments(List<Argument> arguments) { 029 this.arguments = arguments; 030 } 031 032 public String getType() { 033 return type; 034 } 035 036 public void setType(String type) { 037 this.type = type; 038 } 039 040 public void appendArgument(Argument argument) { 041 if (argument == null) { 042 return; 043 } 044 if (arguments == null) { 045 arguments = new ArrayList<Argument>(); 046 } 047 arguments.add(argument); 048 } 049 050 public Coordinate[] getCoordinates() { 051 if (ModelBindingManager.getGlobalOption()!=null && ModelBindingManager.getGlobalOption().isIgnoreCoordinate()) { 052 return null; 053 } 054 return coordinates; 055 } 056 057 public void setCoordinates(Coordinate[] coordinates) { 058 if (ModelBindingManager.getGlobalOption()!=null && ModelBindingManager.getGlobalOption().isIgnoreCoordinate()) { 059 return; 060 } 061 this.coordinates = coordinates; 062 } 063 064 @JSONField(serialize = false) 065 public Database getDatabase() { 066 TreeNode parent = getParent(); 067 Server server = getServer(); 068 if (parent == null || server == null) { 069 return null; 070 } 071 if (server.isSupportsCatalogs() && server.isSupportsSchemas()) { 072 return (Database) parent.getParent(); 073 } else if (server.isSupportsCatalogs()) { 074 return (Database) parent; 075 } 076 return null; 077 } 078 079 @JSONField(serialize = false) 080 public Schema getSchema() { 081 TreeNode parent = getParent(); 082 Server server = getServer(); 083 if (parent == null || server == null) { 084 return null; 085 } 086 if (server.isSupportsSchemas()) { 087 return (Schema) parent; 088 } 089 return null; 090 } 091}