View Javadoc

1   /*
2    * Copyright (c) 2005, The K-Wf Grid Consortium
3    * Fraunhofer Institute for Computer Architecture and Software Technology
4    * See http://www.kwfgrid.eu and http://www.first.fraunhofer.de for more details.
5    */
6   package net.kwfgrid.gworkflowdl.protocol.structure;
7   
8   import java.util.EventListener;
9   import java.util.List;
10  
11  /***
12     An extension to the interface IStructureListener. 
13     The methods defined in this interface will only be called if
14     the method-call-strategy used explicitly invokes them.
15     The method-call-strategies provided in the GWorkflowDL library do this.
16   */
17  public interface IStructureListenerExt extends IStructureListener {
18      /***
19         Notify the listener that a sequence of modifications begins.
20         The structure MUST NOT be altered further during structure event dispatching.       
21         To do this add an instance of <code>IStructureTask</code> to the root object's task queue
22         (accessible through <code>parent.getRoot().getTaskQueue()</code> and use extended implementations
23         of method call strategies <code>DefaultClientDelegateExt, DefaultServerDelegateExt or DefaultMethodCallStrategyExt</code>.
24       */
25      void beginModifications(IRootObject structure);
26      /***
27         Notify the listener that a sequence of modifications ends.
28         The structure MUST NOT be altered further during structure event dispatching.       
29         To do this add an instance of <code>IStructureTask</code> to the root object's task queue
30         (accessible through <code>parent.getRoot().getTaskQueue()</code> and use extended implementations
31         of method call strategies <code>DefaultClientDelegateExt, DefaultServerDelegateExt or DefaultMethodCallStrategyExt</code>.
32       */
33      void endModifications(IRootObject structure);
34      /***
35         Notify the listener that an exception occured during a modifications sequence.
36         The structure MUST NOT be altered further during structure event dispatching.       
37         To do this add an instance of <code>IStructureTask</code> to the root object's task queue
38         (accessible through <code>parent.getRoot().getTaskQueue()</code> and use extended implementations
39         of method call strategies <code>DefaultClientDelegateExt, DefaultServerDelegateExt or DefaultMethodCallStrategyExt</code>.
40       */
41      void exception(IRootObject structure, Throwable x);
42  }