Package org.h2.tools

# Class TriggerAdapter

java.lang.Object
org.h2.tools.TriggerAdapter

All Implemented Interfaces:
  `Trigger`

Direct Known Subclasses:
  `RowAccessRights`, `TestTriggersConstraints.ConcurrentTrigger`, `TestTriggersConstraints.DeleteTrigger`, `TestTriggersConstraints.NullTriggerAdapter`, `TestTriggersConstraints.TestTriggerAdapter`, `TestTriggersConstraints.WrongTriggerAdapter`, `UpdatableView`

public abstract class TriggerAdapter extends Object implements Trigger
An adapter for the trigger interface that allows to use the ResultSet interface instead of a row array.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected boolean`
`before`
Whether the fire method is called before or after the operation is performed.
`protected String`
`schemaName`
The schema name.
`protected String`
`tableName`
The name of the table.
`protected String`
`triggerName`
The name of the trigger.
`protected int`
`type`
The trigger type: INSERT, UPDATE, DELETE, SELECT, or a combination (a bit field).

### Fields inherited from interface org.h2.api.Trigger

`DELETE, INSERT, SELECT, UPDATE`

## Constructor Summary

Constructors
Constructor
Description
`TriggerAdapter()`

## Method Summary

Modifier and Type
Method
Description
`final void`
`fire(Connection conn, Object[] oldRow, Object[] newRow)`
This method is called for each triggered action.
`abstract void`
`fire(Connection conn, ResultSet oldRow, ResultSet newRow)`
This method is called for each triggered action by the default fire(Connection conn, Object[] oldRow, Object[] newRow) method.
`void`
`init(Connection conn, String schemaName, String triggerName, String tableName, boolean before, int type)`
This method is called by the database engine once when initializing the trigger.

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

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

### Methods inherited from interface org.h2.api.Trigger

`close, remove`

## Field Details

### schemaName

protected String schemaName
The schema name.

### triggerName

protected String triggerName
The name of the trigger.

### tableName

protected String tableName
The name of the table.

### before

protected boolean before
Whether the fire method is called before or after the operation is performed.

### type

protected int type
The trigger type: INSERT, UPDATE, DELETE, SELECT, or a combination (a bit field).

## Constructor Details

### TriggerAdapter

public TriggerAdapter()

## Method Details

### init

public void init(Connection conn, String schemaName, String triggerName, String tableName, boolean before, int type) throws SQLException
This method is called by the database engine once when initializing the trigger. It is called when the trigger is created, as well as when the database is opened. The default implementation initialized the result sets.

Specified by:
  `init` in interface `Trigger`
Parameters:
  `conn` - a connection to the database
  `schemaName` - the name of the schema
  `triggerName` - the name of the trigger used in the CREATE TRIGGER statement
  `tableName` - the name of the table
  `before` - whether the fire method is called before or after the operation is performed
  `type` - the operation type: INSERT, UPDATE, DELETE, SELECT, or a combination (this parameter is a bit field)
Throws:
  `SQLException` - on SQL exception

### fire

public final void fire(Connection conn, Object[] oldRow, Object[] newRow) throws SQLException
Description copied from interface: `Trigger`
This method is called for each triggered action. The method is called immediately when the operation occurred (before it is committed). A transaction rollback will also rollback the operations that were done within the trigger, if the operations occurred within the same database. If the trigger changes state outside the database, a rollback trigger should be used.

The row arrays contain all columns of the table, in the same order as defined in the table.

The trigger itself may change the data in the newRow array.

Specified by:
  `fire` in interface `Trigger`
Parameters:
  `conn` - a connection to the database
  `oldRow` - the old row, or null if no old row is available (for INSERT)
  `newRow` - the new row, or null if no new row is available (for DELETE)
Throws:
  `SQLException` - if the operation must be undone

### fire

public abstract void fire(Connection conn, ResultSet oldRow, ResultSet newRow) throws SQLException
This method is called for each triggered action by the default fire(Connection conn, Object[] oldRow, Object[] newRow) method.

For "before" triggers, the new values of the new row may be changed using the ResultSet.updateX methods.

Parameters:
  `conn` - a connection to the database
  `oldRow` - the old row, or null if no old row is available (for INSERT)
  `newRow` - the new row, or null if no new row is available (for DELETE)
Throws:
  `SQLException` - if the operation must be undone