Package org.h2.tools

Class TriggerAdapter

  • All Implemented Interfaces:
    Trigger

    public abstract class TriggerAdapter
    extends java.lang.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 java.lang.String schemaName
      The schema name.
      protected java.lang.String tableName
      The name of the table.
      protected java.lang.String triggerName
      The name of the trigger.
      protected int type
      The trigger type: INSERT, UPDATE, DELETE, SELECT, or a combination (a bit field).
    • Constructor Summary

      Constructors 
      Constructor Description
      TriggerAdapter()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void fire​(java.sql.Connection conn, java.lang.Object[] oldRow, java.lang.Object[] newRow)
      This method is called for each triggered action.
      abstract void fire​(java.sql.Connection conn, java.sql.ResultSet oldRow, java.sql.ResultSet newRow)
      This method is called for each triggered action by the default fire(Connection conn, Object[] oldRow, Object[] newRow) method.
      void init​(java.sql.Connection conn, java.lang.String schemaName, java.lang.String triggerName, java.lang.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
    • Field Detail

      • schemaName

        protected java.lang.String schemaName
        The schema name.
      • triggerName

        protected java.lang.String triggerName
        The name of the trigger.
      • tableName

        protected java.lang.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 Detail

      • TriggerAdapter

        public TriggerAdapter()
    • Method Detail

      • init

        public void init​(java.sql.Connection conn,
                         java.lang.String schemaName,
                         java.lang.String triggerName,
                         java.lang.String tableName,
                         boolean before,
                         int type)
                  throws java.sql.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:
        java.sql.SQLException - on SQL exception
      • fire

        public final void fire​(java.sql.Connection conn,
                               java.lang.Object[] oldRow,
                               java.lang.Object[] newRow)
                        throws java.sql.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:
        java.sql.SQLException - if the operation must be undone
      • fire

        public abstract void fire​(java.sql.Connection conn,
                                  java.sql.ResultSet oldRow,
                                  java.sql.ResultSet newRow)
                           throws java.sql.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:
        java.sql.SQLException - if the operation must be undone