Class InstanceTrigger

java.lang.Object
com.orchestranetworks.schema.trigger.InstanceTrigger

public abstract class InstanceTrigger extends Object
Specifies methods that are automatically executed when certain operations are performed on a dataset.

Definition in the data model

The trigger must be declared under the element xs:annotation/xs:appinfo:

 <osd:trigger class="com.foo.MyDataSetTrigger" />
 
where com.foo.MyDataSetTrigger is the fully qualified name of the class implementing this interface. It is also possible to set additional JavaBean properties:
 <osd:trigger class="com.foo.MyDataSetTrigger">
         <param1>...</param1>
         <param2>...</param2>
 </osd:trigger>
 
where param1 and param2 are JavaBean properties of the specified class.

For more information, see the JavaBean specification.

Life cycle

  1. When the data model is loaded:
    1. the specified class is instantiated through its default constructor and the JavaBean property setters are called (in the example above, setParam1(...) and setParam2(...));
    2. the method setup(TriggerSetupContext) is called on the new instance.
  2. During the operational phase: the methods handle... are called each time the associated operation is executed.

If several operations are defined for the same dataset, they are not executed in any particular order.

Restrictions

Dataset triggers are not invoked in the following contexts:

  • Constructor Details

    • InstanceTrigger

      public InstanceTrigger()
  • Method Details

    • setup

      public abstract void setup(TriggerSetupContext aContext)
      Checks and prepares this instance when the data model is loaded.
    • handleBeforeCreate

      public void handleBeforeCreate(BeforeCreateInstanceContext aContext) throws OperationException
      This method is called before the creation of a dataset.

      Default implementation does nothing.

      Throws:
      OperationException - when an exception occurs or to prevent the execution of the subsequent creation (guard role). Warning: in the case of a mass update, the whole transaction is aborted.
    • handleAfterCreate

      public void handleAfterCreate(AfterCreateInstanceContext aContext) throws OperationException
      This method is called after the creation of a dataset.

      Default implementation does nothing.

      Throws:
      OperationException - when an exception occurs. Warning: in the case of a mass update the whole transaction is aborted.
    • handleBeforeDelete

      public void handleBeforeDelete(BeforeDeleteInstanceContext aContext) throws OperationException
      This method is called before the deletion of a dataset.

      Default implementation does nothing.

      Throws:
      OperationException - when an exception occurs or to prevent the execution of the subsequent deletion (guard role). Warning: in the case of a mass update the whole transaction is aborted.
    • handleAfterDelete

      public void handleAfterDelete(AfterDeleteInstanceContext aContext) throws OperationException
      This method is called after the deletion of a dataset.

      Default implementation does nothing.

      Throws:
      OperationException - when an exception occurs. Warning: in the case of a mass update the whole transaction is aborted.