/* * * SchemaCrawler * http://sourceforge.net/projects/schemacrawler * Copyright (c) 2000-2013, Sualeh Fatehi. * * This library is free software; you can redistribute it and/or modify it under the terms * of the GNU Lesser General Public License as published by the Free Software Foundation; * either version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with this * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307, USA. * */ package schemacrawler.schema; /** * Represents an trigger. * * @author Sualeh Fatehi */ public interface Trigger extends DependantObject<Table> { /** * Gets the WHEN clause of the trigger. * * @return Action condition. */ String getActionCondition(); /** * Gets the action order. * * @return Action order. */ int getActionOrder(); /** * Gets whether the trigger is a row trigger or a statement trigger. * * @return Action orientation. */ ActionOrientationType getActionOrientation(); /** * Gets the body of the trigger. * * @return Body of the trigger. */ String getActionStatement(); /** * Gets the condition timing. BEFORE = the trigger is executed before * the triggering data manipulation operation; INSTEAD OF = the * trigger is executed instead of the triggering data manipulation * operation; AFTER = the trigger is executed after the triggering * data manipulation operation. * * @return Condition timing. */ ConditionTimingType getConditionTiming(); /** * Gets the event manipulation type. The trigger event - INSERT, * DELETE, or UPDATE. * * @return Event manipulation type */ EventManipulationType getEventManipulationType(); }