org.apache.ibatis.ibator.api
Class FullyQualifiedTable

java.lang.Object
  extended by org.apache.ibatis.ibator.api.FullyQualifiedTable

public class FullyQualifiedTable
extends java.lang.Object

Author:
Jeff Butler

Constructor Summary
FullyQualifiedTable(java.lang.String introspectedCatalog, java.lang.String introspectedSchema, java.lang.String introspectedTableName, java.lang.String domainObjectName, java.lang.String alias, boolean ignoreQualifiersAtRuntime, java.lang.String runtimeCatalog, java.lang.String runtimeSchema, java.lang.String runtimeTableName, boolean delimitIdentifiers, IbatorContext ibatorContext)
          This object is used to hold information related to the table itself, not the columns in the table.
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 java.lang.String getAlias()
           
 java.lang.String getAliasedFullyQualifiedTableNameAtRuntime()
           
 java.lang.String getDomainObjectName()
           
 java.lang.String getFullyQualifiedTableNameAtRuntime()
           
 java.lang.String getIntrospectedCatalog()
           
 java.lang.String getIntrospectedSchema()
           
 java.lang.String getIntrospectedTableName()
           
 java.lang.String getSqlMapNamespace()
          This method returns a string that is the fully qualified table name, with underscores as the seperator.
 java.lang.String getSubPackage()
          Calculates a Java package fragment based on the table catalog and schema.
 int hashCode()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FullyQualifiedTable

public FullyQualifiedTable(java.lang.String introspectedCatalog,
                           java.lang.String introspectedSchema,
                           java.lang.String introspectedTableName,
                           java.lang.String domainObjectName,
                           java.lang.String alias,
                           boolean ignoreQualifiersAtRuntime,
                           java.lang.String runtimeCatalog,
                           java.lang.String runtimeSchema,
                           java.lang.String runtimeTableName,
                           boolean delimitIdentifiers,
                           IbatorContext ibatorContext)
This object is used to hold information related to the table itself, not the columns in the table.

Parameters:
introspectedCatalog - the actual catalog of the table as returned from DatabaseMetaData. This value should only be set if the user configured a catalog. Otherwise the DatabaseMetaData is reporting some database default that we don't want in the generated code.
introspectedSchema - the actual schema of the table as returned from DatabaseMetaData. This value should only be set if the user configured a schema. Otherwise the DatabaseMetaData is reporting some database default that we don't want in the generated code.
introspectedTableName - the actual table name as returned from DatabaseMetaData
domainObjectName - the configured domain object name for this table. If nothing is configured, we'll build the domain object named based on the tableName or runtimeTableName.
alias - a configured alias for the table. This alias will be added to the table name in the SQL
ignoreQualifiersAtRuntime - if true, then the catalog and schema qualifiers will be ignored when composing fully qualified names in the generated SQL. This is used, for example, when the user needs to specify a specific schema for generating code but does not want the schema in the generated SQL
runtimeCatalog - this is used to "rename" the catalog in the generated SQL. This is useful, for example, when generating code against one catalog that should run with a different catalog.
runtimeSchema - this is used to "rename" the schema in the generated SQL. This is useful, for example, when generating code against one schema that should run with a different schema.
runtimeTableName - this is used to "rename" the table in the generated SQL. This is useful, for example, when generating code to run with an Oracle synonym. The user would have to specify the actual table name and schema for generation, but would want to use the synonym name in the generated SQL
delimitIdentifiers - if true, then the table identifiers will be delimited at runtime. The delimiter characters are obtained from the IbatorContext.
Method Detail

getIntrospectedCatalog

public java.lang.String getIntrospectedCatalog()

getIntrospectedSchema

public java.lang.String getIntrospectedSchema()

getIntrospectedTableName

public java.lang.String getIntrospectedTableName()

getFullyQualifiedTableNameAtRuntime

public java.lang.String getFullyQualifiedTableNameAtRuntime()

getAliasedFullyQualifiedTableNameAtRuntime

public java.lang.String getAliasedFullyQualifiedTableNameAtRuntime()

getSqlMapNamespace

public java.lang.String getSqlMapNamespace()
This method returns a string that is the fully qualified table name, with underscores as the seperator.

Returns:
the namespace

getDomainObjectName

public java.lang.String getDomainObjectName()

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getAlias

public java.lang.String getAlias()

getSubPackage

public java.lang.String getSubPackage()
Calculates a Java package fragment based on the table catalog and schema. If qualifiers are ignored, then this method will return an empty string

Returns:
the subpackage for this table