Package 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
Modifier and Type
Field
Description
`protected int`
`batchCount`
`protected int`
`batchSize`
`protected Logger`
`log`
`protected List<Integer>`
`results`

## Constructor Summary

Constructors
Constructor
Description
`BatchingStatementWrapper(Statement delegate, int batchSize, Logger log)`

## Method Summary

Modifier and Type
Method
Description
`void`
`addBatch(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.
`Object`
`invokeMethod(String name, 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 Details

### batchSize

protected int batchSize

### batchCount

protected int batchCount

### log

protected Logger log

### results

protected List<Integer> results

## Constructor Details

### BatchingStatementWrapper

public BatchingStatementWrapper(Statement delegate, int batchSize, Logger log)

## Method Details

### reset

protected void reset()

### invokeMethod

public Object invokeMethod(String name, 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(String sql) throws SQLException

Throws:
  `SQLException`

### incrementBatchCount

protected void incrementBatchCount() throws SQLException
Increments batch count (after addBatch(..) has been called) and execute `delegate.executeBatch()` if batchSize has been reached.

Throws:
  `SQLException`

### clearBatch

public void clearBatch() throws SQLException

Throws:
  `SQLException`

### executeBatch

public int[] executeBatch() throws SQLException

Throws:
  `SQLException`

### processResult

protected void processResult(int[] lastResult)

### close

public void close() throws SQLException

Throws:
  `SQLException`