001package gudusoft.gsqlparser.sqlenv; 002 003 004/** 005 * the base class of all schema objects such as procedure, table, trigger and etc. 006 */ 007public abstract class TSQLSchemaObject extends TSQLObject { 008 009 private int priority = 0; 010 011 TSQLSchema schema; 012 013 public TSQLSchema getSchema() { 014 return schema; 015 } 016 017 public String getQualifiedName(){ 018 return schema.getQualifiedName()+"."+name; 019 } 020 021 public TSQLSchemaObject(TSQLSchema schema, String objectName, ESQLDataObjectType dataObjectType){ 022 super(schema.getSqlEnv(),objectName, dataObjectType); 023 this.schema = schema; 024 schema.addSchemaObject(this); 025 } 026 027 /** 028 * A schema object of {@code schema} that the schema does not hold yet: its creator adds it once it is complete 029 * ({@link TSQLTable#newVersion()}), so no reader of a shared catalog sees it half made. 030 */ 031 TSQLSchemaObject(TSQLSchema schema, String objectName, ESQLDataObjectType dataObjectType, boolean unregistered){ 032 super(schema.getSqlEnv(),objectName, dataObjectType); 033 this.schema = schema; 034 } 035 036 public TSQLSchemaObject(TSQLSchema schema, String objectName, ESQLDataObjectType dataObjectType, int priority){ 037 super(schema.getSqlEnv(),objectName, dataObjectType); 038 this.schema = schema; 039 this.priority = priority; 040 schema.addSchemaObject(this); 041 } 042 043 public int getPriority() { 044 return priority; 045 } 046 047 public void setPriority(int priority) { 048 this.priority = priority; 049 } 050}