
package com.sap.dbtech.jdbc.trace;


import com.sap.dbtech.util.Tracer;

public class Connection implements java.sql.Connection
{
    private java.sql.Connection _inner;
    // nothing in genAdditionalInstanceVars
    public java.sql.Connection getInner() {
      return (java.sql.Connection) this._inner;
    }
    static java.sql.Connection getInner (java.sql.Connection obj ) {
      if (obj == null || ! (obj instanceof com.sap.dbtech.jdbc.trace.Connection))  { 
        return null;  
      }
      Connection iobj = (Connection)obj;
      return (java.sql.Connection)iobj._inner;
    }
    static java.sql.Connection createNew (java.sql.Connection obj ) {
      Connection iobj = new Connection (obj);
      return (java.sql.Connection)iobj;
    }

    public Connection(
        java.sql.Connection _innerP)
    {
        this._inner = _innerP;
    }

    public void setReadOnly (
        boolean arg0)
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".setReadOnly (" + arg0 + ")");
        try {
            this._inner.setReadOnly (arg0);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public boolean isReadOnly ()
    throws java.sql.SQLException
    {
        boolean _result;
        Tracer.println (this._inner + ".isReadOnly (" + ")");
        try {
            _result = this._inner.isReadOnly ();
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public void close ()
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".close (" + ")");
        try {
            this._inner.close ();
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public java.sql.DatabaseMetaData getMetaData ()
    throws java.sql.SQLException
    {
        java.sql.DatabaseMetaData _result;
        Tracer.println (this._inner + ".getMetaData (" + ")");
        try {
            _result = this._inner.getMetaData ();
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.DatabaseMetaData.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public void clearWarnings ()
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".clearWarnings (" + ")");
        try {
            this._inner.clearWarnings ();
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public java.sql.SQLWarning getWarnings ()
    throws java.sql.SQLException
    {
        java.sql.SQLWarning _result;
        Tracer.println (this._inner + ".getWarnings (" + ")");
        try {
            _result = this._inner.getWarnings ();
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public void commit ()
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".commit (" + ")");
        try {
            this._inner.commit ();
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public java.sql.Statement createStatement (
        int arg0,
        int arg1,
        int arg2)
    throws java.sql.SQLException
    {
        java.sql.Statement _result;
        Tracer.println (this._inner + ".createStatement (" + arg0 + ", " + arg1 + ", " + arg2 + ")");
        try {
            _result = this._inner.createStatement (arg0, arg1, arg2);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.Statement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.Statement createStatement ()
    throws java.sql.SQLException
    {
        java.sql.Statement _result;
        Tracer.println (this._inner + ".createStatement (" + ")");
        try {
            _result = this._inner.createStatement ();
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.Statement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.Statement createStatement (
        int arg0,
        int arg1)
    throws java.sql.SQLException
    {
        java.sql.Statement _result;
        Tracer.println (this._inner + ".createStatement (" + arg0 + ", " + arg1 + ")");
        try {
            _result = this._inner.createStatement (arg0, arg1);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.Statement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public boolean getAutoCommit ()
    throws java.sql.SQLException
    {
        boolean _result;
        Tracer.println (this._inner + ".getAutoCommit (" + ")");
        try {
            _result = this._inner.getAutoCommit ();
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.lang.String getCatalog ()
    throws java.sql.SQLException
    {
        java.lang.String _result;
        Tracer.println (this._inner + ".getCatalog (" + ")");
        try {
            _result = this._inner.getCatalog ();
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public int getHoldability ()
    throws java.sql.SQLException
    {
        int _result;
        Tracer.println (this._inner + ".getHoldability (" + ")");
        try {
            _result = this._inner.getHoldability ();
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public int getTransactionIsolation ()
    throws java.sql.SQLException
    {
        int _result;
        Tracer.println (this._inner + ".getTransactionIsolation (" + ")");
        try {
            _result = this._inner.getTransactionIsolation ();
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.util.Map getTypeMap ()
    throws java.sql.SQLException
    {
        java.util.Map _result;
        Tracer.println (this._inner + ".getTypeMap (" + ")");
        try {
            _result = this._inner.getTypeMap ();
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public boolean isClosed ()
    throws java.sql.SQLException
    {
        boolean _result;
        Tracer.println (this._inner + ".isClosed (" + ")");
        try {
            _result = this._inner.isClosed ();
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.lang.String nativeSQL (
        java.lang.String arg0)
    throws java.sql.SQLException
    {
        java.lang.String _result;
        Tracer.println (this._inner + ".nativeSQL (" + arg0 + ")");
        try {
            _result = this._inner.nativeSQL (arg0);
            Tracer.println ("=> " + _result);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.CallableStatement prepareCall (
        java.lang.String arg0,
        int arg1,
        int arg2,
        int arg3)
    throws java.sql.SQLException
    {
        java.sql.CallableStatement _result;
        Tracer.println (this._inner + ".prepareCall (" + arg0 + ", " + arg1 + ", " + arg2 + ", " + arg3 + ")");
        try {
            _result = this._inner.prepareCall (arg0, arg1, arg2, arg3);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.CallableStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.CallableStatement prepareCall (
        java.lang.String arg0)
    throws java.sql.SQLException
    {
        java.sql.CallableStatement _result;
        Tracer.println (this._inner + ".prepareCall (" + arg0 + ")");
        try {
            _result = this._inner.prepareCall (arg0);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.CallableStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.CallableStatement prepareCall (
        java.lang.String arg0,
        int arg1,
        int arg2)
    throws java.sql.SQLException
    {
        java.sql.CallableStatement _result;
        Tracer.println (this._inner + ".prepareCall (" + arg0 + ", " + arg1 + ", " + arg2 + ")");
        try {
            _result = this._inner.prepareCall (arg0, arg1, arg2);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.CallableStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.PreparedStatement prepareStatement (
        java.lang.String arg0,
        int [] arg1)
    throws java.sql.SQLException
    {
        java.sql.PreparedStatement _result;
        Tracer.println (this._inner + ".prepareStatement (" + arg0 + ", " + arg1 + ")");
        try {
            _result = this._inner.prepareStatement (arg0, arg1);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.PreparedStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.PreparedStatement prepareStatement (
        java.lang.String arg0,
        int arg1,
        int arg2,
        int arg3)
    throws java.sql.SQLException
    {
        java.sql.PreparedStatement _result;
        Tracer.println (this._inner + ".prepareStatement (" + arg0 + ", " + arg1 + ", " + arg2 + ", " + arg3 + ")");
        try {
            _result = this._inner.prepareStatement (arg0, arg1, arg2, arg3);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.PreparedStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.PreparedStatement prepareStatement (
        java.lang.String arg0,
        int arg1,
        int arg2)
    throws java.sql.SQLException
    {
        java.sql.PreparedStatement _result;
        Tracer.println (this._inner + ".prepareStatement (" + arg0 + ", " + arg1 + ", " + arg2 + ")");
        try {
            _result = this._inner.prepareStatement (arg0, arg1, arg2);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.PreparedStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.PreparedStatement prepareStatement (
        java.lang.String arg0)
    throws java.sql.SQLException
    {
        java.sql.PreparedStatement _result;
        Tracer.println (this._inner + ".prepareStatement (" + arg0 + ")");
        try {
            _result = this._inner.prepareStatement (arg0);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.PreparedStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.PreparedStatement prepareStatement (
        java.lang.String arg0,
        int arg1)
    throws java.sql.SQLException
    {
        java.sql.PreparedStatement _result;
        Tracer.println (this._inner + ".prepareStatement (" + arg0 + ", " + arg1 + ")");
        try {
            _result = this._inner.prepareStatement (arg0, arg1);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.PreparedStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.PreparedStatement prepareStatement (
        java.lang.String arg0,
        java.lang.String [] arg1)
    throws java.sql.SQLException
    {
        java.sql.PreparedStatement _result;
        Tracer.println (this._inner + ".prepareStatement (" + arg0 + ", " + arg1 + ")");
        try {
            _result = this._inner.prepareStatement (arg0, arg1);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.PreparedStatement.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public void releaseSavepoint (
        java.sql.Savepoint arg0)
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".releaseSavepoint (" + com.sap.dbtech.jdbc.trace.Savepoint.getInner(arg0) + ")");
        try {
            this._inner.releaseSavepoint (com.sap.dbtech.jdbc.trace.Savepoint.getInner(arg0));
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public void rollback ()
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".rollback (" + ")");
        try {
            this._inner.rollback ();
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public void rollback (
        java.sql.Savepoint arg0)
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".rollback (" + com.sap.dbtech.jdbc.trace.Savepoint.getInner(arg0) + ")");
        try {
            this._inner.rollback (com.sap.dbtech.jdbc.trace.Savepoint.getInner(arg0));
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public void setAutoCommit (
        boolean arg0)
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".setAutoCommit (" + arg0 + ")");
        try {
            this._inner.setAutoCommit (arg0);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public void setCatalog (
        java.lang.String arg0)
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".setCatalog (" + arg0 + ")");
        try {
            this._inner.setCatalog (arg0);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public void setHoldability (
        int arg0)
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".setHoldability (" + arg0 + ")");
        try {
            this._inner.setHoldability (arg0);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public java.sql.Savepoint setSavepoint ()
    throws java.sql.SQLException
    {
        java.sql.Savepoint _result;
        Tracer.println (this._inner + ".setSavepoint (" + ")");
        try {
            _result = this._inner.setSavepoint ();
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.Savepoint.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public java.sql.Savepoint setSavepoint (
        java.lang.String arg0)
    throws java.sql.SQLException
    {
        java.sql.Savepoint _result;
        Tracer.println (this._inner + ".setSavepoint (" + arg0 + ")");
        try {
            _result = this._inner.setSavepoint (arg0);
            Tracer.println ("=> " + _result);
            if (_result != null) { 
              _result = com.sap.dbtech.jdbc.trace.Savepoint.createNew (_result);
            }
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
        return _result;
    }

    public void setTransactionIsolation (
        int arg0)
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".setTransactionIsolation (" + arg0 + ")");
        try {
            this._inner.setTransactionIsolation (arg0);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }

    public void setTypeMap (
        java.util.Map arg0)
    throws java.sql.SQLException
    {
        Tracer.println (this._inner + ".setTypeMap (" + arg0 + ")");
        try {
            this._inner.setTypeMap (arg0);
        }
        catch (RuntimeException _exc) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc);
            throw _exc;
        }
        catch (java.sql.SQLException _exc0) {
            Tracer.println (" <-!");
            Tracer.traceException (_exc0);
            throw _exc0;
        }
    }


}
