Package groovy.sql

## Class BatchingStatementWrapper

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

- All Implemented Interfaces:
    `GroovyObject`, `java.lang.AutoCloseable`
  Direct Known Subclasses:
    `BatchingPreparedStatementWrapper`

      public class BatchingStatementWrapper
      extends GroovyObjectSupport
      implements java.lang.AutoCloseable

  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 java.util.logging.Logger` | `log` |
    `protected java.util.List<java.lang.Integer>` | `results` |

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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

      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Throws:
        `java.sql.SQLException`