Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 David Berkman
   * 
   * This file is part of the SmallMind Code Project.
   * 
   * The SmallMind Code Project is free software, you can redistribute
   * it and/or modify it under the terms of GNU Affero General Public
   * License as published by the Free Software Foundation, either version 3
   * of the License, or (at your option) any later version.
  * 
  * The SmallMind Code Project is distributed in the hope that it will
  * be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * General Public License for more details.
  * 
  * You should have received a copy of the the GNU Affero General Public
  * License, along with the SmallMind Code Project. If not, see
  * <http://www.gnu.org/licenses/>.
  * 
  * Additional permission under the GNU Affero GPL version 3 section 7
  * ------------------------------------------------------------------
  * If you modify this Program, or any covered work, by linking or
  * combining it with other code, such other code is not for that reason
  * alone subject to any of the requirements of the GNU Affero GPL
  * version 3.
  */
 package org.smallmind.persistence.sql;
 
 import java.util.UUID;
 
 public class PooledPreparedStatement implements InvocationHandler {
 
   private String statementId;
   private AtomicBoolean closed = new AtomicBoolean(false);
 
   public PooledPreparedStatement (AbstractPooledConnection<?> pooledConnectionPreparedStatement actualStatement) {
 
     this. = pooledConnection;
     this. = actualStatement;
 
      = UUID.randomUUID().toString();
   }
 
   public Object invoke (Object proxyMethod methodObject[] args)
     throws Throwable {
 
     if (method.getName().equals("close")) {
 
 
         listener.statementClosed(event);
       }
 
       return null;
     }
     else {
       try {
         return method.invoke(args);
       }
       catch (Throwable throwable) {
         if (throwable instanceof SQLException) {
 
 
           for (StatementEventListener listener : .getStatementEventListeners()) {
             listener.statementErrorOccurred(event);
           }
         }
 
         throw throwable;
       }
     }
   }
 
   public String getStatementId () {
 
     return ;
   }
 
 
     return ;
   }
 
   public PrintWriter getLogWriter ()
    throws SQLException {
  }
  public void close ()
    throws SQLException {
    if (.compareAndSet(falsetrue)) {
      .close();
    }
  }
  public void finalize ()
    throws SQLException {
    try {
      close();
    }
    catch (SQLException sqlExecption) {
      PrintWriter logWriter;
      if ((logWriter = getLogWriter()) != null) {
        sqlExecption.printStackTrace(logWriter);
      }
    }
  }
New to GrepCode? Check out our FAQ X