groovy.sql

## Class BatchingStatementWrapper

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - groovy.sql.BatchingStatementWrapper

All Implemented Interfaces:
  GroovyObject

Direct Known Subclasses:
  BatchingPreparedStatementWrapper

    public class BatchingStatementWrapper
    extends GroovyObjectSupport

Class which delegates to a Statement but keeps track of a batch count size. If the batch count reaches the predefined number, this Statement does an executeBatch() automatically. If batchSize is zero, then no batching is performed.

### Field Summary

Fields
`protected int` `batchCount`
`protected int` `batchSize`
`protected java.util.logging.Logger` `log`
`protected java.util.List<java.lang.Integer>` `results`

### Constructor Summary

Constructors
Constructor and Description
`BatchingStatementWrapper(java.sql.Statement delegate, int batchSize, java.util.logging.Logger log)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addBatch(java.lang.String sql)`
`void` `clearBatch()`
`void` `close()`
`int[]` `executeBatch()`
`protected void` `incrementBatchCount()` Increments batch count (after addBatch(..) has been called) and execute `delegate.executeBatch()` if batchSize has been reached.
`java.lang.Object` `invokeMethod(java.lang.String name, java.lang.Object args)` Invokes the given method.
`protected void` `processResult(int[] lastResult)`
`protected void` `reset()`

### Methods inherited from class groovy.lang.GroovyObjectSupport

`getMetaClass, getProperty, setMetaClass, setProperty`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### batchSize

    protected int batchSize

#### batchCount

    protected int batchCount

#### log

    protected java.util.logging.Logger log

#### results

    protected java.util.List<java.lang.Integer> results

### Constructor Detail

#### BatchingStatementWrapper

    public BatchingStatementWrapper(java.sql.Statement delegate,
                                    int batchSize,
                                    java.util.logging.Logger log)

### Method Detail

#### reset

    protected void reset()

#### invokeMethod

    public java.lang.Object invokeMethod(java.lang.String name,
                                         java.lang.Object args)

Description copied from interface: `GroovyObject`
Invokes the given method.

Specified by:
  `invokeMethod` in interface `GroovyObject`
Overrides:
  `invokeMethod` in class `GroovyObjectSupport`
Parameters:
  `name` - the name of the method to call
  `args` - the arguments to use for the method call
Returns:
  the result of invoking the method

#### addBatch

    public void addBatch(java.lang.String sql)
                  throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### incrementBatchCount

    protected void incrementBatchCount()
                                throws java.sql.SQLException

Increments batch count (after addBatch(..) has been called) and execute `delegate.executeBatch()` if batchSize has been reached.

Throws:
  `java.sql.SQLException`

#### clearBatch

    public void clearBatch()
                    throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### executeBatch

    public int[] executeBatch()
                       throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### processResult

    protected void processResult(int[] lastResult)

#### close

    public void close()
               throws java.sql.SQLException

Throws:
  `java.sql.SQLException`