Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.ddlutils.io
Class DataToDatabaseSink

    java.lang.Object
      org.apache.ddlutils.io.DataToDatabaseSink

All Implemented Interfaces:
  DataSink

    public class DataToDatabaseSink

extends Object
implements DataSink

Data sink that directly inserts the beans into the database. If configured, it will make sure that the beans are inserted in the correct order according to the foreignkeys. Note that this will only work if there are no circles.

Version:
  $Revision: 289996 $

Constructor Summary
`DataToDatabaseSink(Platform platform, Database model)` Creates a new sink instance.

Method Summary
`void` | `addBean(DynaBean bean)` Adds a dyna bean.
`void` | `end()` Notifies the sink that all beans have been added.
`int` | `getBatchSize()` Returns the (maximum) number of beans to insert in one batch.
`boolean` | `isEnsureFkOrder()` Determines whether the sink delays the insertion of beans so that the beans referenced by it via foreignkeys are already inserted into the database.
`boolean` | `isHaltOnErrors()` Determines whether this sink halts when an error happens during the insertion of a bean into the database.
`boolean` | `isUseBatchMode()` Determines whether batch mode is used for inserting the beans.
`void` | `setBatchSize(int batchSize)` Sets the (maximum) number of beans to insert in one batch.
`void` | `setEnsureForeignKeyOrder(boolean ensureFkOrder)` Specifies whether the sink shall delay the insertion of beans so that the beans referenced by it via foreignkeys are already inserted into the database. Note that you should careful with setting `haltOnErrors` to false as this might result in beans not inserted at all.
`void` | `setHaltOnErrors(boolean haltOnErrors)` Specifies whether this sink halts when an error happens during the insertion of a bean into the database.
`void` | `setUseBatchMode(boolean useBatchMode)` Specifies whether batch mode is used for inserting the beans.
`void` | `start()` Notifies the sink that beans will be added.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DataToDatabaseSink

    public DataToDatabaseSink(Platform platform,
                              Database model)

  Creates a new sink instance.

  Parameters:
    `platform` - The database platform
    `model` - The database model

Method Detail

### isHaltOnErrors

    public boolean isHaltOnErrors()

  Determines whether this sink halts when an error happens during the insertion of a bean into the database. Default is `true`.

  Returns:
    `true` if the sink stops when an error occurred

### setHaltOnErrors

    public void setHaltOnErrors(boolean haltOnErrors)

  Specifies whether this sink halts when an error happens during the insertion of a bean into the database.

  Parameters:
    `haltOnErrors` - `true` if the sink shall stop when an error occurred

### isEnsureFkOrder

    public boolean isEnsureFkOrder()

  Determines whether the sink delays the insertion of beans so that the beans referenced by it via foreignkeys are already inserted into the database.

  Returns:
    `true` if beans are inserted after its foreignkey-references

### setEnsureForeignKeyOrder

    public void setEnsureForeignKeyOrder(boolean ensureFkOrder)

  Specifies whether the sink shall delay the insertion of beans so that the beans referenced by it via foreignkeys are already inserted into the database.
  Note that you should careful with setting `haltOnErrors` to false as this might result in beans not inserted at all. The sink will then throw an appropriate exception at the end of the insertion process (method `end()`).

  Parameters:
    `ensureFkOrder` - `true` if beans shall be inserted after its foreignkey-references

### isUseBatchMode

    public boolean isUseBatchMode()

  Determines whether batch mode is used for inserting the beans.

  Returns:
    `true` if batch mode is used (`false` per default)

### setUseBatchMode

    public void setUseBatchMode(boolean useBatchMode)

  Specifies whether batch mode is used for inserting the beans. Note that this requires that the primary key values are not defined by the database.

  Parameters:
    `useBatchMode` - `true` if batch mode shall be used

### getBatchSize

    public int getBatchSize()

  Returns the (maximum) number of beans to insert in one batch.

  Returns:
    The number of beans

### setBatchSize

    public void setBatchSize(int batchSize)

  Sets the (maximum) number of beans to insert in one batch.

  Parameters:
    `batchSize` - The number of beans

### end

    public void end()
             throws DataSinkException

  Notifies the sink that all beans have been added.

  Specified by:
    `end` in interface `DataSink`
  Throws:
    `DataSinkException`

### start

    public void start()
               throws DataSinkException

  Notifies the sink that beans will be added.

  Specified by:
    `start` in interface `DataSink`
  Throws:
    `DataSinkException`

### addBean

    public void addBean(DynaBean bean)
                 throws DataSinkException

  Adds a dyna bean.

  Specified by:
    `addBean` in interface `DataSink`
  Parameters:
    `bean` - The dyna bean to add
  Throws:
    `DataSinkException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005-2007 Apache Software Foundation. All Rights Reserved.