1   /*
2    *  ProcessingResource.java
3    *
4    *  Copyright (c) 1998-2005, The University of Sheffield.
5    *
6    *  This file is part of GATE (see http://gate.ac.uk/), and is free
7    *  software, licenced under the GNU Library General Public License,
8    *  Version 2, June 1991 (in the distribution as file licence.html,
9    *  and also available at http://gate.ac.uk/gate/licence.html).
10   *
11   *  Hamish Cunningham, 11/Feb/2000
12   *
13   *  $Id: ProcessingResource.java,v 1.14 2005/01/11 13:51:30 ian Exp $
14   */
15  
16  package gate;
17  
18  import gate.creole.ResourceInstantiationException;
19  
20  /** Models all sorts of processing resources.
21    * Because <CODE>run()</CODE> doesn't throw exceptions, we
22    * have a <CODE>check()</CODE> that will re-throw any exception
23    * that was caught when <CODE>run()</CODE> was invoked.
24    */
25  public interface ProcessingResource extends Resource, Executable
26  {
27  
28    /**
29     * Reinitialises the processing resource. After calling this method the
30     * resource should be in the state it is after calling init.
31     * If the resource depends on external resources (such as rules files) then
32     * the resource will re-read those resources. If the data used to create
33     * the resource has changed since the resource has been created then the
34     * resource will change too after calling reInit().
35     */
36    public void reInit() throws ResourceInstantiationException;
37  } // interface ProcessingResource
38