Class GenericFactory

    • Constructor Summary

      Constructors 
      Constructor Description
      GenericFactory()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.String doubleQuoteName​(java.lang.String name)
      Updated to handle input such as user.tablename.column.
      java.lang.String getFactoryName()
      Returns the name of this factory.
      java.lang.String getIdentitySelectString​(java.lang.String tableName, java.lang.String columnName)
      Returns the database specific query string for retrieving last identity value.
      QueryExpression getQueryExpression()
      Returns a new empty query expression suitable for the underlying SQL engine.
      java.lang.String getSequenceAfterSelectString​(java.lang.String seqName, java.lang.String tableName)
      Returns the database specific SELECT query string for fetching identity after the INSERT statement executed.
      java.lang.String getSequenceBeforeSelectString​(java.lang.String seqName, java.lang.String tableName, int increment)
      Returns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.
      java.lang.String getSequenceNextValString​(java.lang.String seqName)
      Returns the database engine specific string to fetch sequence next value.
      boolean isKeyGeneratorIdentitySupported()
      Does persistence factory support generation of unique keys with identity key generator?
      boolean isKeyGeneratorIdentityTypeSupported​(int type)
      Does identity key generator support generation of unique keys for the given SQL type?
      boolean isKeyGeneratorSequenceSupported​(boolean returning, boolean trigger)
      Does persistence factory support generation of new key at the time of new object creation with sequence key generator?
      boolean isKeyGeneratorSequenceTypeSupported​(int type)
      Does Sequence key generator support generation of key for the given SQL type?
      java.lang.String quoteName​(java.lang.String name)
      Returns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.
      • Methods inherited from class java.lang.Object

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

      • GenericFactory

        public GenericFactory()
    • Method Detail

      • getFactoryName

        public java.lang.String getFactoryName()
        Description copied from interface: PersistenceFactory
        Returns the name of this factory. A descriptive name that indicates the type of supported database server or SQL syntax.
        Returns:
        The name of this factory
      • getQueryExpression

        public QueryExpression getQueryExpression()
        Description copied from interface: PersistenceFactory
        Returns a new empty query expression suitable for the underlying SQL engine. The implementation will construct SQL query statements in the preferred syntax.
        Returns:
        New empty query expression
      • quoteName

        public java.lang.String quoteName​(java.lang.String name)
        Description copied from interface: PersistenceFactory
        Returns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.
        Parameters:
        name - The identifier (table, column, etc)
        Returns:
        The quoted identifier
      • doubleQuoteName

        protected final java.lang.String doubleQuoteName​(java.lang.String name)
        Updated to handle input such as user.tablename.column.
      • isKeyGeneratorIdentitySupported

        public boolean isKeyGeneratorIdentitySupported()
        Does persistence factory support generation of unique keys with identity key generator?
        Returns:
        true if persistence factory is able to generate unique keys with identity key generator, false otherwise.
      • isKeyGeneratorIdentityTypeSupported

        public boolean isKeyGeneratorIdentityTypeSupported​(int type)
        Does identity key generator support generation of unique keys for the given SQL type?
        Parameters:
        type - SQL type to check for support by identity key generator.
        Returns:
        true if persistence factory is able to generate unique keys of given SQL type with identity key generator, false otherwise.
      • getIdentitySelectString

        public java.lang.String getIdentitySelectString​(java.lang.String tableName,
                                                        java.lang.String columnName)
        Returns the database specific query string for retrieving last identity value.
        Parameters:
        tableName - Name of the table from which identity needs to be fetched.
        columnName - Name of the column from which identity needs to be fetched.
        Returns:
        SQL Query string for fetching the identity value.
      • isKeyGeneratorSequenceSupported

        public boolean isKeyGeneratorSequenceSupported​(boolean returning,
                                                       boolean trigger)
        Does persistence factory support generation of new key at the time of new object creation with sequence key generator?
        Parameters:
        returning - Return generated key value with insert statement?
        trigger - Use a database trigger to generate key?
        Returns:
        true if persistence factory is able to generate key with sequence key generator, false otherwise.
      • isKeyGeneratorSequenceTypeSupported

        public boolean isKeyGeneratorSequenceTypeSupported​(int type)
        Does Sequence key generator support generation of key for the given SQL type?
        Parameters:
        type - SQL type to check for support by sequence key generator.
        Returns:
        true if persistence factory is able to generate key of given SQL type with sequence key generator, false otherwise.
      • getSequenceNextValString

        public java.lang.String getSequenceNextValString​(java.lang.String seqName)
        Returns the database engine specific string to fetch sequence next value.
        Parameters:
        seqName - Name of the sequence.
        Returns:
        String to fetch sequence next value.
      • getSequenceAfterSelectString

        public java.lang.String getSequenceAfterSelectString​(java.lang.String seqName,
                                                             java.lang.String tableName)
        Returns the database specific SELECT query string for fetching identity after the INSERT statement executed.
        Parameters:
        seqName - Name of sequence.
        tableName - Name of the table from which identity will be fetched.
        Returns:
        SELECT sql string
      • getSequenceBeforeSelectString

        public java.lang.String getSequenceBeforeSelectString​(java.lang.String seqName,
                                                              java.lang.String tableName,
                                                              int increment)
        Returns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.
        Parameters:
        seqName - Name of sequence.
        tableName - Name of the table from which identity will be fetched.
        increment - Increment value used in Interbase database engine.
        Returns:
        SELECT sql string