Class AutoOpenCloseConnection

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.sql.Connection, java.sql.Wrapper

    public class AutoOpenCloseConnection
    extends java.lang.Object
    implements java.sql.Connection
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int checkInterval  
      private java.sql.Connection connection  
      private int maxIdleTime  
      private java.util.Properties properties  
      private java.lang.String url  
      • Fields inherited from interface java.sql.Connection

        TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
    • Constructor Summary

      Constructors 
      Constructor Description
      AutoOpenCloseConnection​(java.lang.String url, java.lang.String username, java.lang.String password)  
      AutoOpenCloseConnection​(java.lang.String url, java.lang.String username, java.lang.String password, int maxIdleTime)  
      AutoOpenCloseConnection​(java.lang.String url, java.util.Properties properties, int maxIdleTime, int checkInterval)  
    • Field Detail

      • url

        private final java.lang.String url
      • properties

        private final java.util.Properties properties
      • maxIdleTime

        private final int maxIdleTime
      • checkInterval

        private final int checkInterval
      • connection

        private java.sql.Connection connection
    • Constructor Detail

      • AutoOpenCloseConnection

        public AutoOpenCloseConnection​(java.lang.String url,
                                       java.lang.String username,
                                       java.lang.String password)
      • AutoOpenCloseConnection

        public AutoOpenCloseConnection​(java.lang.String url,
                                       java.lang.String username,
                                       java.lang.String password,
                                       int maxIdleTime)
      • AutoOpenCloseConnection

        public AutoOpenCloseConnection​(java.lang.String url,
                                       java.util.Properties properties,
                                       int maxIdleTime,
                                       int checkInterval)
    • Method Detail

      • getConnection

        private java.sql.Connection getConnection()
                                           throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • unwrap

        public final <T> T unwrap​(java.lang.Class<T> iface)
                           throws java.sql.SQLException
        Specified by:
        unwrap in interface java.sql.Wrapper
        Throws:
        java.sql.SQLException
      • isWrapperFor

        public final boolean isWrapperFor​(java.lang.Class<?> iface)
                                   throws java.sql.SQLException
        Specified by:
        isWrapperFor in interface java.sql.Wrapper
        Throws:
        java.sql.SQLException
      • createStatement

        public final java.sql.Statement createStatement()
                                                 throws java.sql.SQLException
        Specified by:
        createStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareStatement

        public final java.sql.PreparedStatement prepareStatement​(java.lang.String sql)
                                                          throws java.sql.SQLException
        Specified by:
        prepareStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareCall

        public final java.sql.CallableStatement prepareCall​(java.lang.String sql)
                                                     throws java.sql.SQLException
        Specified by:
        prepareCall in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • nativeSQL

        public final java.lang.String nativeSQL​(java.lang.String sql)
                                         throws java.sql.SQLException
        Specified by:
        nativeSQL in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setAutoCommit

        public final void setAutoCommit​(boolean autoCommit)
                                 throws java.sql.SQLException
        Specified by:
        setAutoCommit in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getAutoCommit

        public final boolean getAutoCommit()
                                    throws java.sql.SQLException
        Specified by:
        getAutoCommit in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • commit

        public final void commit()
                          throws java.sql.SQLException
        Specified by:
        commit in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • rollback

        public final void rollback()
                            throws java.sql.SQLException
        Specified by:
        rollback in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • close

        public final void close()
                         throws java.sql.SQLException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • isClosed

        public final boolean isClosed()
                               throws java.sql.SQLException
        Specified by:
        isClosed in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getMetaData

        public final java.sql.DatabaseMetaData getMetaData()
                                                    throws java.sql.SQLException
        Specified by:
        getMetaData in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setReadOnly

        public final void setReadOnly​(boolean readOnly)
                               throws java.sql.SQLException
        Specified by:
        setReadOnly in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • isReadOnly

        public final boolean isReadOnly()
                                 throws java.sql.SQLException
        Specified by:
        isReadOnly in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setCatalog

        public final void setCatalog​(java.lang.String catalog)
                              throws java.sql.SQLException
        Specified by:
        setCatalog in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getCatalog

        public final java.lang.String getCatalog()
                                          throws java.sql.SQLException
        Specified by:
        getCatalog in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setTransactionIsolation

        public final void setTransactionIsolation​(int level)
                                           throws java.sql.SQLException
        Specified by:
        setTransactionIsolation in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getTransactionIsolation

        public final int getTransactionIsolation()
                                          throws java.sql.SQLException
        Specified by:
        getTransactionIsolation in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getWarnings

        public final java.sql.SQLWarning getWarnings()
                                              throws java.sql.SQLException
        Specified by:
        getWarnings in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • clearWarnings

        public final void clearWarnings()
                                 throws java.sql.SQLException
        Specified by:
        clearWarnings in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • createStatement

        public final java.sql.Statement createStatement​(int resultSetType,
                                                        int resultSetConcurrency)
                                                 throws java.sql.SQLException
        Specified by:
        createStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareStatement

        public final java.sql.PreparedStatement prepareStatement​(java.lang.String sql,
                                                                 int resultSetType,
                                                                 int resultSetConcurrency)
                                                          throws java.sql.SQLException
        Specified by:
        prepareStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareCall

        public final java.sql.CallableStatement prepareCall​(java.lang.String sql,
                                                            int resultSetType,
                                                            int resultSetConcurrency)
                                                     throws java.sql.SQLException
        Specified by:
        prepareCall in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getTypeMap

        public final java.util.Map<java.lang.String,​java.lang.Class<?>> getTypeMap()
                                                                                  throws java.sql.SQLException
        Specified by:
        getTypeMap in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setTypeMap

        public final void setTypeMap​(java.util.Map<java.lang.String,​java.lang.Class<?>> map)
                              throws java.sql.SQLException
        Specified by:
        setTypeMap in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setHoldability

        public final void setHoldability​(int holdability)
                                  throws java.sql.SQLException
        Specified by:
        setHoldability in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getHoldability

        public final int getHoldability()
                                 throws java.sql.SQLException
        Specified by:
        getHoldability in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setSavepoint

        public final java.sql.Savepoint setSavepoint()
                                              throws java.sql.SQLException
        Specified by:
        setSavepoint in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setSavepoint

        public final java.sql.Savepoint setSavepoint​(java.lang.String name)
                                              throws java.sql.SQLException
        Specified by:
        setSavepoint in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • rollback

        public final void rollback​(java.sql.Savepoint savepoint)
                            throws java.sql.SQLException
        Specified by:
        rollback in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • releaseSavepoint

        public final void releaseSavepoint​(java.sql.Savepoint savepoint)
                                    throws java.sql.SQLException
        Specified by:
        releaseSavepoint in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • createStatement

        public final java.sql.Statement createStatement​(int resultSetType,
                                                        int resultSetConcurrency,
                                                        int resultSetHoldability)
                                                 throws java.sql.SQLException
        Specified by:
        createStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareStatement

        public final java.sql.PreparedStatement prepareStatement​(java.lang.String sql,
                                                                 int resultSetType,
                                                                 int resultSetConcurrency,
                                                                 int resultSetHoldability)
                                                          throws java.sql.SQLException
        Specified by:
        prepareStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareCall

        public final java.sql.CallableStatement prepareCall​(java.lang.String sql,
                                                            int resultSetType,
                                                            int resultSetConcurrency,
                                                            int resultSetHoldability)
                                                     throws java.sql.SQLException
        Specified by:
        prepareCall in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareStatement

        public final java.sql.PreparedStatement prepareStatement​(java.lang.String sql,
                                                                 int autoGeneratedKeys)
                                                          throws java.sql.SQLException
        Specified by:
        prepareStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareStatement

        public final java.sql.PreparedStatement prepareStatement​(java.lang.String sql,
                                                                 int[] columnIndexes)
                                                          throws java.sql.SQLException
        Specified by:
        prepareStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • prepareStatement

        public final java.sql.PreparedStatement prepareStatement​(java.lang.String sql,
                                                                 java.lang.String[] columnNames)
                                                          throws java.sql.SQLException
        Specified by:
        prepareStatement in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • createClob

        public final java.sql.Clob createClob()
                                       throws java.sql.SQLException
        Specified by:
        createClob in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • createBlob

        public final java.sql.Blob createBlob()
                                       throws java.sql.SQLException
        Specified by:
        createBlob in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • createNClob

        public final java.sql.NClob createNClob()
                                         throws java.sql.SQLException
        Specified by:
        createNClob in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • createSQLXML

        public final java.sql.SQLXML createSQLXML()
                                           throws java.sql.SQLException
        Specified by:
        createSQLXML in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • isValid

        public final boolean isValid​(int timeout)
                              throws java.sql.SQLException
        Specified by:
        isValid in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setClientInfo

        public final void setClientInfo​(java.lang.String name,
                                        java.lang.String value)
                                 throws java.sql.SQLClientInfoException
        Specified by:
        setClientInfo in interface java.sql.Connection
        Throws:
        java.sql.SQLClientInfoException
      • setClientInfo

        public final void setClientInfo​(java.util.Properties properties)
                                 throws java.sql.SQLClientInfoException
        Specified by:
        setClientInfo in interface java.sql.Connection
        Throws:
        java.sql.SQLClientInfoException
      • getClientInfo

        public final java.lang.String getClientInfo​(java.lang.String name)
                                             throws java.sql.SQLException
        Specified by:
        getClientInfo in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getClientInfo

        public final java.util.Properties getClientInfo()
                                                 throws java.sql.SQLException
        Specified by:
        getClientInfo in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • createArrayOf

        public final java.sql.Array createArrayOf​(java.lang.String typeName,
                                                  java.lang.Object[] elements)
                                           throws java.sql.SQLException
        Specified by:
        createArrayOf in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • createStruct

        public final java.sql.Struct createStruct​(java.lang.String typeName,
                                                  java.lang.Object[] attributes)
                                           throws java.sql.SQLException
        Specified by:
        createStruct in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setSchema

        public final void setSchema​(java.lang.String schema)
                             throws java.sql.SQLException
        Specified by:
        setSchema in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getSchema

        public final java.lang.String getSchema()
                                         throws java.sql.SQLException
        Specified by:
        getSchema in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • abort

        public final void abort​(java.util.concurrent.Executor executor)
                         throws java.sql.SQLException
        Specified by:
        abort in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • setNetworkTimeout

        public final void setNetworkTimeout​(java.util.concurrent.Executor executor,
                                            int milliseconds)
                                     throws java.sql.SQLException
        Specified by:
        setNetworkTimeout in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • getNetworkTimeout

        public final int getNetworkTimeout()
                                    throws java.sql.SQLException
        Specified by:
        getNetworkTimeout in interface java.sql.Connection
        Throws:
        java.sql.SQLException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • 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