org.seasar.extension.jdbc.gen.internal.dialect
クラス StandardGenDialect

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.gen.internal.dialect.StandardGenDialect
すべての実装されたインタフェース:
GenDialect
直系の既知のサブクラス:
Db2GenDialect, DerbyGenDialect, FirebirdGenDialect, H2GenDialect, HsqlGenDialect, InterbaseGenDialect, MaxdbGenDialect, MssqlGenDialect, MysqlGenDialect, OracleGenDialect, PostgreGenDialect, SqliteGenDialect, SybaseGenDialect

public class StandardGenDialect
extends java.lang.Object
implements GenDialect

標準的な方言をあつかうクラスです。

作成者:
taedium

入れ子のクラスの概要
static class StandardGenDialect.StandardColumnType
          標準のStandardGenDialect.StandardColumnTypeの実装クラスです。
static class StandardGenDialect.StandardSqlBlockContext
          標準のStandardGenDialect.StandardColumnTypeの実装クラスです。
 
インタフェース org.seasar.extension.jdbc.gen.dialect.GenDialect から継承された入れ子のクラス/インタフェース
GenDialect.ColumnType, GenDialect.SqlBlockContext
 
フィールドの概要
protected  java.util.Map<java.lang.Object,GenDialect.ColumnType> columnTypeMap
          カラムの型名をキー、StandardGenDialect.StandardColumnTypeを値とするマップ
protected  java.util.Map<java.lang.Integer,GenDialect.ColumnType> fallbackColumnTypeMap
          カラムのSQL型をキー、StandardGenDialect.StandardColumnTypeを値とするマップ。
protected static Logger logger
          ロガー
protected  java.util.Map<java.lang.Integer,SqlType> sqlTypeMap
          SQL型をキー、SqlTypeを値とするマップ
 
コンストラクタの概要
StandardGenDialect()
          インスタンスを構築します。
 
メソッドの概要
 GenDialect.SqlBlockContext createSqlBlockContext()
          SQLブロックのコンテキストを作成します。
protected  java.sql.SQLException getCauseSQLException(java.lang.Throwable t)
          例外チェーンをたどって原因となったSQL例外を返します。
 java.lang.String getCloseQuote()
          終了を表すクォートを返します。
 java.util.Map<java.lang.String,java.lang.String> getColumnCommentMap(java.sql.Connection connection, java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName)
          カラムのコメントをデータベースから直接取得しマップに詰めて返します。
 GenDialect.ColumnType getColumnType(java.lang.String typeName, int sqlType)
          カラム型を返します。
 GenerationType getDefaultGenerationType()
          デフォルトのGenerationTypeを返します。
 java.lang.String getDefaultSchemaName(java.lang.String userName)
          デフォルトのスキーマ名を返します。
 java.lang.String getDropForeignKeySyntax()
          外部キーを削除する構文を返します。
 java.lang.String getDropUniqueKeySyntax()
          一意キーを削除する構文を返します。
protected  java.lang.Integer getErrorCode(java.lang.Throwable t)
          例外チェーンをたどって原因となったベンダー固有の例外コードを返します。
 java.lang.String getIdentityColumnDefinition()
          IDENTITYカラムの定義を返します。
 java.lang.String getIdentityInsertDisableStatement(java.lang.String tableName)
          IDENTITYカラムに対するinsertを無効化するステートメントを返します。
 java.lang.String getIdentityInsertEnableStatement(java.lang.String tableName)
          IDENTITYカラムに対するinsertを有効化するステートメントを返します。
 java.lang.String getName()
          名前を返します。
 java.lang.String getOpenQuote()
          開始を表すクォートを返します。
 java.lang.String getSequenceDefinitionFragment(java.lang.String dataType, long initialValue, int allocationSize)
          シーケンス定義の断片を返します。
 java.lang.String getSequenceNextValString(java.lang.String sequenceName, int allocationSize)
          シーケンスの値を取得するSQLを返します。
 java.lang.String getSqlBlockDelimiter()
          SQLブロックの区切り文字を返します。
protected  java.lang.String getSQLState(java.lang.Throwable t)
          例外チェーンをたどって原因となったSQLステートを返します。
 SqlType getSqlType(int sqlType)
          SQL型を返します。
 SqlType getSqlType(ValueTypeProvider valueTypeProvider, PropertyMeta propertyMeta)
          SQL型を返します。
protected  SqlType getSqlTypeInternal(int sqlType)
          内部的にSQL型を返します。
 java.lang.String getTableComment(java.sql.Connection connection, java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName)
          テーブルのコメントをデータベースから直接取得します。
 boolean isAutoIncrement(java.sql.Connection connection, java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, java.lang.String columnName)
          列の値が自動的に増分される場合trueを返します。
 boolean isColumnNotFound(java.lang.Throwable throwable)
          カラムが存在しない例外を表す場合trueを返します。
 boolean isJdbcCommentAvailable()
          JDBCのコメント取得機能が利用できる場合trueを返します。
 boolean isSequenceNotFound(java.lang.Throwable throwable)
          シーケンスが存在しない例外を表す場合trueを返します。
 boolean isTableNotFound(java.lang.Throwable throwable)
          テーブルが存在しない例外を表す場合trueを返します。
 java.lang.String quote(java.lang.String value)
          クォートで囲みます。
 boolean supportsCommentInCreateTable()
          CREATE TABLEでコメントをサポートする場合trueを返します。
 boolean supportsCommentOn()
          COMMENT ONをサポートする場合trueを返します。
 boolean supportsGetIndexInfo(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName)
          DatabaseMetaData.getIndexInfo(String, String, String, boolean, boolean) をサポートする場合trueを返します。
 boolean supportsIdentity()
          IDENTITYカラムをサポートしている場合trueを返します。
 boolean supportsIdentityInsert()
          IDENTITYカラムに対するinsertをサポートしている場合trueを返します。
 boolean supportsIdentityInsertControlStatement()
          IDENTITYカラムに対するinsertの有効/無効を制御するステートメントをサポートしている場合trueを返します。
 boolean supportsNullableUnique()
          NULLが可能な一意制約をサポートしている場合trueを返します。
 boolean supportsReferentialDeleteRule()
          参照整合制約の削除規則をサポートする場合trueを返します。
 boolean supportsReferentialUpdateRule()
          参照整合制約の更新規則をサポートする場合trueを返します。
 boolean supportsSequence()
          シーケンスをサポートする場合trueを返します。
 java.lang.String unquote(java.lang.String value)
          クォートを取り除きます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

logger

protected static Logger logger
ロガー


sqlTypeMap

protected java.util.Map<java.lang.Integer,SqlType> sqlTypeMap
SQL型をキー、SqlTypeを値とするマップ


columnTypeMap

protected java.util.Map<java.lang.Object,GenDialect.ColumnType> columnTypeMap
カラムの型名をキー、StandardGenDialect.StandardColumnTypeを値とするマップ


fallbackColumnTypeMap

protected java.util.Map<java.lang.Integer,GenDialect.ColumnType> fallbackColumnTypeMap
カラムのSQL型をキー、StandardGenDialect.StandardColumnTypeを値とするマップ。

コンストラクタの詳細

StandardGenDialect

public StandardGenDialect()
インスタンスを構築します。

メソッドの詳細

getName

public java.lang.String getName()
インタフェース GenDialect の記述:
名前を返します。

定義:
インタフェース GenDialect 内の getName
戻り値:
名前

getDefaultSchemaName

public java.lang.String getDefaultSchemaName(java.lang.String userName)
インタフェース GenDialect の記述:
デフォルトのスキーマ名を返します。

定義:
インタフェース GenDialect 内の getDefaultSchemaName
パラメータ:
userName - ユーザー名
戻り値:
スキーマ名

getSqlType

public SqlType getSqlType(int sqlType)
インタフェース GenDialect の記述:
SQL型を返します。

定義:
インタフェース GenDialect 内の getSqlType
パラメータ:
sqlType - JDBCのSQL型
戻り値:
SQL型

getSqlType

public SqlType getSqlType(ValueTypeProvider valueTypeProvider,
                          PropertyMeta propertyMeta)
インタフェース GenDialect の記述:
SQL型を返します。

定義:
インタフェース GenDialect 内の getSqlType
パラメータ:
valueTypeProvider - ValueTypeの提供者
propertyMeta - プロパティメタデータ
戻り値:
SQL型

getSqlTypeInternal

protected SqlType getSqlTypeInternal(int sqlType)
内部的にSQL型を返します。

パラメータ:
sqlType - JDBCのSQL型
戻り値:
SQL型

getColumnType

public GenDialect.ColumnType getColumnType(java.lang.String typeName,
                                           int sqlType)
インタフェース GenDialect の記述:
カラム型を返します。

定義:
インタフェース GenDialect 内の getColumnType
パラメータ:
typeName - カラムの型名
sqlType - JDBCのSQL型
戻り値:
カラム型、サポートされていないカラムの型名の場合null

getDefaultGenerationType

public GenerationType getDefaultGenerationType()
インタフェース GenDialect の記述:
デフォルトのGenerationTypeを返します。

定義:
インタフェース GenDialect 内の getDefaultGenerationType
戻り値:
デフォルトのGenerationType

getOpenQuote

public java.lang.String getOpenQuote()
インタフェース GenDialect の記述:
開始を表すクォートを返します。

定義:
インタフェース GenDialect 内の getOpenQuote
戻り値:
開始を表すクォート

getCloseQuote

public java.lang.String getCloseQuote()
インタフェース GenDialect の記述:
終了を表すクォートを返します。

定義:
インタフェース GenDialect 内の getCloseQuote
戻り値:
終了を表すクォート

quote

public java.lang.String quote(java.lang.String value)
インタフェース GenDialect の記述:
クォートで囲みます。

定義:
インタフェース GenDialect 内の quote
パラメータ:
value - 値
戻り値:
クォートで囲まれた値

unquote

public java.lang.String unquote(java.lang.String value)
インタフェース GenDialect の記述:
クォートを取り除きます。

定義:
インタフェース GenDialect 内の unquote
パラメータ:
value - 値
戻り値:
クォートが取り除かれた値

supportsSequence

public boolean supportsSequence()
インタフェース GenDialect の記述:
シーケンスをサポートする場合trueを返します。

定義:
インタフェース GenDialect 内の supportsSequence
戻り値:
シーケンスをサポートする場合true、しない場合false

supportsGetIndexInfo

public boolean supportsGetIndexInfo(java.lang.String catalogName,
                                    java.lang.String schemaName,
                                    java.lang.String tableName)
インタフェース GenDialect の記述:
DatabaseMetaData.getIndexInfo(String, String, String, boolean, boolean) をサポートする場合trueを返します。

定義:
インタフェース GenDialect 内の supportsGetIndexInfo
パラメータ:
catalogName - カタログ名
schemaName - スキーマ名
tableName - テーブル名
戻り値:
DatabaseMetaData.getIndexInfo(String, String, String, boolean, boolean) をサポートする場合true

getSequenceDefinitionFragment

public java.lang.String getSequenceDefinitionFragment(java.lang.String dataType,
                                                      long initialValue,
                                                      int allocationSize)
インタフェース GenDialect の記述:
シーケンス定義の断片を返します。

この断片は create sequence 以降に続きます。

定義:
インタフェース GenDialect 内の getSequenceDefinitionFragment
パラメータ:
dataType - データタイプ
initialValue - 初期値
allocationSize - 割り当てサイズ
戻り値:

getSqlBlockDelimiter

public java.lang.String getSqlBlockDelimiter()
インタフェース GenDialect の記述:
SQLブロックの区切り文字を返します。

定義:
インタフェース GenDialect 内の getSqlBlockDelimiter
戻り値:
SQLブロックの区切り文字、SQLブロックの区切り文字蛾存在しない場合null

getIdentityColumnDefinition

public java.lang.String getIdentityColumnDefinition()
インタフェース GenDialect の記述:
IDENTITYカラムの定義を返します。

定義:
インタフェース GenDialect 内の getIdentityColumnDefinition
戻り値:
IDENTITYカラムの定義

getDropForeignKeySyntax

public java.lang.String getDropForeignKeySyntax()
インタフェース GenDialect の記述:
外部キーを削除する構文を返します。

定義:
インタフェース GenDialect 内の getDropForeignKeySyntax
戻り値:
外部キーを削除する構文

getDropUniqueKeySyntax

public java.lang.String getDropUniqueKeySyntax()
インタフェース GenDialect の記述:
一意キーを削除する構文を返します。

定義:
インタフェース GenDialect 内の getDropUniqueKeySyntax
戻り値:
外部キーを削除する構文

isTableNotFound

public boolean isTableNotFound(java.lang.Throwable throwable)
インタフェース GenDialect の記述:
テーブルが存在しない例外を表す場合trueを返します。

定義:
インタフェース GenDialect 内の isTableNotFound
パラメータ:
throwable - 何らかの例外
戻り値:
テーブルが存在しない例外を表す場合true

isColumnNotFound

public boolean isColumnNotFound(java.lang.Throwable throwable)
インタフェース GenDialect の記述:
カラムが存在しない例外を表す場合trueを返します。

定義:
インタフェース GenDialect 内の isColumnNotFound
パラメータ:
throwable - 何らかの例外
戻り値:
カラムが存在しない例外を表す場合true

isSequenceNotFound

public boolean isSequenceNotFound(java.lang.Throwable throwable)
インタフェース GenDialect の記述:
シーケンスが存在しない例外を表す場合trueを返します。

定義:
インタフェース GenDialect 内の isSequenceNotFound
パラメータ:
throwable - 何らかの例外
戻り値:
シーケンスが存在しない例外を表す場合true

createSqlBlockContext

public GenDialect.SqlBlockContext createSqlBlockContext()
インタフェース GenDialect の記述:
SQLブロックのコンテキストを作成します。

定義:
インタフェース GenDialect 内の createSqlBlockContext
戻り値:
SQLブロックのコンテキスト

supportsIdentityInsert

public boolean supportsIdentityInsert()
インタフェース GenDialect の記述:
IDENTITYカラムに対するinsertをサポートしている場合trueを返します。

定義:
インタフェース GenDialect 内の supportsIdentityInsert
戻り値:
IDENTITYカラムに対するinsertをサポートしている場合true

supportsIdentityInsertControlStatement

public boolean supportsIdentityInsertControlStatement()
インタフェース GenDialect の記述:
IDENTITYカラムに対するinsertの有効/無効を制御するステートメントをサポートしている場合trueを返します。

定義:
インタフェース GenDialect 内の supportsIdentityInsertControlStatement
戻り値:
IDENTITYカラムに対するinsertをサポートしている場合true

getIdentityInsertEnableStatement

public java.lang.String getIdentityInsertEnableStatement(java.lang.String tableName)
インタフェース GenDialect の記述:
IDENTITYカラムに対するinsertを有効化するステートメントを返します。

定義:
インタフェース GenDialect 内の getIdentityInsertEnableStatement
パラメータ:
tableName - テーブル名
戻り値:
IDENTITYカラムに対するinsertを有効化するステートメント

getIdentityInsertDisableStatement

public java.lang.String getIdentityInsertDisableStatement(java.lang.String tableName)
インタフェース GenDialect の記述:
IDENTITYカラムに対するinsertを無効化するステートメントを返します。

定義:
インタフェース GenDialect 内の getIdentityInsertDisableStatement
パラメータ:
tableName - テーブル名
戻り値:
IDENTITYカラムに対するinsertを無効化するステートメント

supportsNullableUnique

public boolean supportsNullableUnique()
インタフェース GenDialect の記述:
NULLが可能な一意制約をサポートしている場合trueを返します。

定義:
インタフェース GenDialect 内の supportsNullableUnique
戻り値:
NULLが可能な一意制約をサポートしている場合true

supportsIdentity

public boolean supportsIdentity()
インタフェース GenDialect の記述:
IDENTITYカラムをサポートしている場合trueを返します。

定義:
インタフェース GenDialect 内の supportsIdentity
戻り値:
IDENTITYカラムをサポートしている場合true

getSequenceNextValString

public java.lang.String getSequenceNextValString(java.lang.String sequenceName,
                                                 int allocationSize)
インタフェース GenDialect の記述:
シーケンスの値を取得するSQLを返します。

定義:
インタフェース GenDialect 内の getSequenceNextValString
パラメータ:
sequenceName - シーケンス名
allocationSize - 割り当てサイズ
戻り値:
シーケンスの値を取得するSQL

supportsCommentInCreateTable

public boolean supportsCommentInCreateTable()
インタフェース GenDialect の記述:
CREATE TABLEでコメントをサポートする場合trueを返します。

定義:
インタフェース GenDialect 内の supportsCommentInCreateTable
戻り値:
コメントをサポートする場合true

supportsCommentOn

public boolean supportsCommentOn()
インタフェース GenDialect の記述:
COMMENT ONをサポートする場合trueを返します。

定義:
インタフェース GenDialect 内の supportsCommentOn
戻り値:
COMMENT ONをサポートする場合true

isJdbcCommentAvailable

public boolean isJdbcCommentAvailable()
インタフェース GenDialect の記述:
JDBCのコメント取得機能が利用できる場合trueを返します。

JDBCのコメント取得機能が利用できるとは、次のメソッドでREMARKSカラムの値が取得できることを意味します。

定義:
インタフェース GenDialect 内の isJdbcCommentAvailable
戻り値:
JDBCのコメント取得機能が利用できる場合true

getTableComment

public java.lang.String getTableComment(java.sql.Connection connection,
                                        java.lang.String catalogName,
                                        java.lang.String schemaName,
                                        java.lang.String tableName)
                                 throws java.sql.SQLException
インタフェース GenDialect の記述:
テーブルのコメントをデータベースから直接取得します。

GenDialect.isJdbcCommentAvailable()trueを返す場合に利用できます。

定義:
インタフェース GenDialect 内の getTableComment
パラメータ:
connection - コネクション
catalogName - カタログ名
schemaName - スキーマ名
tableName - テーブル名
戻り値:
テーブルのコメント、存在しない場合null
例外:
java.sql.SQLException - SQL例外が発生した場合

getColumnCommentMap

public java.util.Map<java.lang.String,java.lang.String> getColumnCommentMap(java.sql.Connection connection,
                                                                            java.lang.String catalogName,
                                                                            java.lang.String schemaName,
                                                                            java.lang.String tableName)
                                                                     throws java.sql.SQLException
インタフェース GenDialect の記述:
カラムのコメントをデータベースから直接取得しマップに詰めて返します。

GenDialect.isJdbcCommentAvailable()trueを返す場合に利用できます。

戻り値のマップのキーは大文字小文字を気にしません。 カラム名に対応するコメントが存在しない、値はnullになります。

定義:
インタフェース GenDialect 内の getColumnCommentMap
パラメータ:
connection - コネクション
catalogName - カタログ名
schemaName - スキーマ名
tableName - テーブル名
戻り値:
大文字小文字を気にしないカラム名をキー、カラムのコメントを値とするマップ
例外:
java.sql.SQLException - SQL例外が発生した場合

supportsReferentialDeleteRule

public boolean supportsReferentialDeleteRule()
インタフェース GenDialect の記述:
参照整合制約の削除規則をサポートする場合trueを返します。

定義:
インタフェース GenDialect 内の supportsReferentialDeleteRule
戻り値:
参照整合制約の削除規則をサポートする場合true

supportsReferentialUpdateRule

public boolean supportsReferentialUpdateRule()
インタフェース GenDialect の記述:
参照整合制約の更新規則をサポートする場合trueを返します。

定義:
インタフェース GenDialect 内の supportsReferentialUpdateRule
戻り値:
参照整合制約の更新規則をサポートする場合true

isAutoIncrement

public boolean isAutoIncrement(java.sql.Connection connection,
                               java.lang.String catalogName,
                               java.lang.String schemaName,
                               java.lang.String tableName,
                               java.lang.String columnName)
                        throws java.sql.SQLException
インタフェース GenDialect の記述:
列の値が自動的に増分される場合trueを返します。

定義:
インタフェース GenDialect 内の isAutoIncrement
パラメータ:
connection - コネクション
catalogName - カタログ名
schemaName - スキーマ名
tableName - テーブル名
columnName - カラム名
戻り値:
列が自動的に増分される場合true、そうでない場合false
例外:
java.sql.SQLException - SQL例外が発生した場合

getSQLState

protected java.lang.String getSQLState(java.lang.Throwable t)
例外チェーンをたどって原因となったSQLステートを返します。

例外チェーンにSQL例外が存在しない場合や、SQLステートが設定されていない場合は nullを返します。

パラメータ:
t - 例外
戻り値:
原因となったSQLステート

getErrorCode

protected java.lang.Integer getErrorCode(java.lang.Throwable t)
例外チェーンをたどって原因となったベンダー固有の例外コードを返します。

例外チェーンにSQL例外が存在しない場合や、例外コードが設定されていない場合は nullを返します。

パラメータ:
t - 例外
戻り値:
原因となったベンダー固有の例外コード

getCauseSQLException

protected java.sql.SQLException getCauseSQLException(java.lang.Throwable t)
例外チェーンをたどって原因となったSQL例外を返します。

例外チェーンにSQL例外が存在しない場合はnullを返します。

パラメータ:
t - 例外
戻り値:
原因となったSQL例外


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.