Class DefaultDBTranslator

  • All Implemented Interfaces:
    DBTranslator

    public class DefaultDBTranslator
    extends java.lang.Object
    implements DBTranslator
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultDBTranslator()  
      DefaultDBTranslator​(java.lang.String cTable, java.lang.String cAISeq, java.lang.String cAITrig, java.lang.String cNdx, java.lang.String autoInc, java.lang.String lDef, LimitPosition lPos, java.lang.String aTable, java.lang.String aTableColumn, java.lang.String pKey, java.lang.String qCurTime, java.util.EnumMap<DataType,​java.lang.String> tMap, java.lang.String colQuoteChar, boolean supportsRgk, java.lang.String fetchRgkQuery, java.lang.String tableListFilter)  
      DefaultDBTranslator​(java.util.EnumMap<DataType,​java.lang.String> tMap)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String applyLimit​(java.lang.String query, java.lang.Integer limit)
      Takes a SELECT query and applies the given limit to it, resulting in a select query with a limiting clause.
      protected java.util.EnumMap<DataType,​java.lang.String> createTypeMap()  
      java.util.List<java.lang.String> getAlterCommand​(java.lang.String tableName, ColumnList columns)  
      java.lang.String getColumnQuoteChar()
      Returns the character that this driver uses to quote names in queries
      java.util.List<java.lang.String> getCreateCommand​(java.lang.String tableName, ColumnList columns)  
      java.lang.String getCreateIndexCommand​(java.lang.String tableName, Column column)  
      protected java.lang.String getCreationDef​(ColumnList columns)  
      java.lang.String getCurrentTimeQuery()
      Returns a query that can be used to get the current database time.
      protected java.lang.String getDataTypeKeyword​(DataType type)  
      java.lang.String getFetchKeyQuery​(java.lang.String tableName, java.lang.String columnName)
      A query to be executed instead of using JDBC's built-in facility for obtaining auto-generated keys.
      protected java.lang.String getShortendName​(java.lang.String name)  
      protected java.lang.String getSpecialtyDef​(java.lang.String tokenVal, java.lang.String definition, java.lang.String token)  
      java.lang.String getTableListFilter()
      Returns a filter that will be used to narrow the list of tables returned from the database.
      boolean isSupportsRGK()  
      java.lang.String quoteColumn​(Column col)  
      java.lang.String quoteColumn​(java.lang.String col)  
      protected java.lang.String replaceToken​(java.lang.String source, java.lang.String token, java.lang.String value)  
      protected java.lang.String replaceTokens​(java.lang.String source, java.util.List<java.lang.String> tokens, java.util.List<java.lang.String> value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • createTable

        protected java.lang.String createTable
      • createAISequence

        protected java.lang.String createAISequence
      • createAITrigger

        protected java.lang.String createAITrigger
      • createIndex

        protected java.lang.String createIndex
      • autoIncTypeDef

        protected java.lang.String autoIncTypeDef
      • limitDef

        protected java.lang.String limitDef
      • alterTable

        protected java.lang.String alterTable
      • alterColumnDef

        protected java.lang.String alterColumnDef
      • primaryKeyDef

        protected java.lang.String primaryKeyDef
      • currentTimeQuery

        protected java.lang.String currentTimeQuery
      • columnQuoteChar

        protected java.lang.String columnQuoteChar
      • supportsRgk

        protected boolean supportsRgk
      • readGKQuery

        protected java.lang.String readGKQuery
      • tableListFilter

        protected java.lang.String tableListFilter
      • maxIdentifierLength

        protected int maxIdentifierLength
      • typeMap

        protected java.util.EnumMap<DataType,​java.lang.String> typeMap
    • Constructor Detail

      • DefaultDBTranslator

        public DefaultDBTranslator()
      • DefaultDBTranslator

        public DefaultDBTranslator​(java.util.EnumMap<DataType,​java.lang.String> tMap)
      • DefaultDBTranslator

        public DefaultDBTranslator​(java.lang.String cTable,
                                   java.lang.String cAISeq,
                                   java.lang.String cAITrig,
                                   java.lang.String cNdx,
                                   java.lang.String autoInc,
                                   java.lang.String lDef,
                                   LimitPosition lPos,
                                   java.lang.String aTable,
                                   java.lang.String aTableColumn,
                                   java.lang.String pKey,
                                   java.lang.String qCurTime,
                                   java.util.EnumMap<DataType,​java.lang.String> tMap,
                                   java.lang.String colQuoteChar,
                                   boolean supportsRgk,
                                   java.lang.String fetchRgkQuery,
                                   java.lang.String tableListFilter)
    • Method Detail

      • createTypeMap

        protected java.util.EnumMap<DataType,​java.lang.String> createTypeMap()
      • getCurrentTimeQuery

        public java.lang.String getCurrentTimeQuery()
        Description copied from interface: DBTranslator
        Returns a query that can be used to get the current database time.
        Specified by:
        getCurrentTimeQuery in interface DBTranslator
      • quoteColumn

        public java.lang.String quoteColumn​(Column col)
      • quoteColumn

        public java.lang.String quoteColumn​(java.lang.String col)
      • applyLimit

        public java.lang.String applyLimit​(java.lang.String query,
                                           java.lang.Integer limit)
        Description copied from interface: DBTranslator
        Takes a SELECT query and applies the given limit to it, resulting in a select query with a limiting clause. If the incoming query already has a limit clause, the existing text will be used (that is, nothing further will be done).
        Specified by:
        applyLimit in interface DBTranslator
      • getAlterCommand

        public java.util.List<java.lang.String> getAlterCommand​(java.lang.String tableName,
                                                                ColumnList columns)
        Specified by:
        getAlterCommand in interface DBTranslator
      • getShortendName

        protected java.lang.String getShortendName​(java.lang.String name)
      • getCreationDef

        protected java.lang.String getCreationDef​(ColumnList columns)
      • getSpecialtyDef

        protected java.lang.String getSpecialtyDef​(java.lang.String tokenVal,
                                                   java.lang.String definition,
                                                   java.lang.String token)
      • replaceToken

        protected java.lang.String replaceToken​(java.lang.String source,
                                                java.lang.String token,
                                                java.lang.String value)
      • replaceTokens

        protected java.lang.String replaceTokens​(java.lang.String source,
                                                 java.util.List<java.lang.String> tokens,
                                                 java.util.List<java.lang.String> value)
      • getDataTypeKeyword

        protected java.lang.String getDataTypeKeyword​(DataType type)
      • getColumnQuoteChar

        public java.lang.String getColumnQuoteChar()
        Description copied from interface: DBTranslator
        Returns the character that this driver uses to quote names in queries
        Specified by:
        getColumnQuoteChar in interface DBTranslator
      • getFetchKeyQuery

        public java.lang.String getFetchKeyQuery​(java.lang.String tableName,
                                                 java.lang.String columnName)
        Description copied from interface: DBTranslator
        A query to be executed instead of using JDBC's built-in facility for obtaining auto-generated keys. Only used if supportsRGK is false. Takes the table name and column name in case the query needs to use them- it will depend on the database as to whether or not they are.
        Specified by:
        getFetchKeyQuery in interface DBTranslator
      • isSupportsRGK

        public boolean isSupportsRGK()
        Specified by:
        isSupportsRGK in interface DBTranslator
        Returns:
        whether or not this driver supports returning generated keys on insert queries
      • getTableListFilter

        public java.lang.String getTableListFilter()
        Description copied from interface: DBTranslator
        Returns a filter that will be used to narrow the list of tables returned from the database. A semi-colon separated list of simple patterns, like "apex_*;sys_info*"
        Specified by:
        getTableListFilter in interface DBTranslator