public class TSQLSynonyms extends TSQLSchemaObject
A synonym is an alias for another schema object (its base target).
Besides the synonym name, this class records the base object it points at as a
tri-state (database/catalog, schema, object) triple. Any of the three may be
null when "unknown": a null getSourceDatabase() /
getSourceSchema() means "same database/schema as the synonym itself",
resolved lazily by resolveBaseTable(). Cross-database base targets are
allowed (a synonym can point at an object in another database).
dataObjectType, name, nameKeepCase, sqlEnv| Constructor and Description |
|---|
TSQLSynonyms(TSQLSchema sqlSchema,
String synonymsName) |
| Modifier and Type | Method and Description |
|---|---|
String |
getBaseTableQualifiedName() |
String |
getQualifiedBaseName()
the fully qualified name of the base object this synonym points at, in
database.schema.object form, defaulting the database/schema to the
synonym's own catalog/schema when the source parts are unknown. |
String |
getSourceDatabase()
database/catalog of the base object this synonym points at.
|
String |
getSourceName()
name of the base object this synonym points at.
|
String |
getSourceSchema()
schema of the base object this synonym points at.
|
boolean |
hasBaseTarget()
whether this synonym carries a base target (a non-empty source object name).
|
TSQLTable |
resolveBaseTable()
Dereference this synonym to its base table/view by resolving the recorded
base target against the owning SQL environment.
|
void |
setBaseTarget(String sourceDatabase,
String sourceSchema,
String sourceName)
Record the base target this synonym points at in one call.
|
void |
setSourceDatabase(String sourceDatabase) |
void |
setSourceName(String sourceName) |
void |
setSourceSchema(String sourceSchema) |
getPriority, getQualifiedName, getSchema, setPrioritycompareTo, compareTo, compareTo, compareTo, getDataObjectType, getName, getNameKeepCase, getSqlEnv, isDelimitedIdentifier, isDelimitedIdentifier, normalizeIdentifier, setDataObjectTypepublic TSQLSynonyms(TSQLSchema sqlSchema, String synonymsName)
public String getSourceDatabase()
null means "the same database as this synonym".null when unknownpublic void setSourceDatabase(String sourceDatabase)
public String getSourceSchema()
null means "the same schema as this synonym".null when unknownpublic void setSourceSchema(String sourceSchema)
public String getSourceName()
null when unknownpublic void setSourceName(String sourceName)
public void setBaseTarget(String sourceDatabase, String sourceSchema, String sourceName)
sourceDatabase - base database/catalog, or null for the synonym's own databasesourceSchema - base schema, or null for the synonym's own schemasourceName - base object namepublic boolean hasBaseTarget()
public String getQualifiedBaseName()
database.schema.object form, defaulting the database/schema to the
synonym's own catalog/schema when the source parts are unknown.null when there is no base targetpublic TSQLTable resolveBaseTable()
TSQLTable (which may itself be a view), or
null when there is no base target or it cannot be resolvedpublic String getBaseTableQualifiedName()