DatastoreEvent.java
01 /*
02  *  Copyright (c) 1995-2012, The University of Sheffield. See the file
03  *  COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
04  *
05  *  This file is part of GATE (see http://gate.ac.uk/), and is free
06  *  software, licenced under the GNU Library General Public License,
07  *  Version 2, June 1991 (in the distribution as file licence.html,
08  *  and also available at http://gate.ac.uk/gate/licence.html).
09  *
10  *  Valentin Tablan 21/04/2001
11  *
12  *  $Id: DatastoreEvent.java 17595 2014-03-08 13:05:32Z markagreenwood $
13  */
14 package gate.event;
15 
16 import gate.DataStore;
17 import gate.Resource;
18 /**
19  * This class models events fired by datastores. Such events occur when new
20  * resources are adopted by a datastore or when an existing resource from
21  * the datastore is deleted.
22  */
23 public class DatastoreEvent extends GateEvent {
24 
25   private static final long serialVersionUID = 1807421127920552348L;
26 
27   /**
28    * Constructor.
29    @param source the datastore that originated the event.
30    @param type the event type.
31    @param res the resource that has been adopted/deleted/etc.
32    @param resourceID the ID corresponding to the resource in this datastore
33    */
34   public DatastoreEvent(DataStore source, int type, Resource res,
35                         Object resourceID) {
36     super(source, type);
37     this.resource = res;
38     this.resourceID = resourceID;
39   }
40 
41   protected Resource resource;
42   protected Object resourceID;
43 
44   /**
45    * The type of events fired when a resource has been adopted
46    */
47   public static final int RESOURCE_ADOPTED = 301;
48 
49   /**
50    * The type of events fired when a resource has been deleted from a datastore
51    */
52   public static final int RESOURCE_DELETED = 302;
53 
54   /**
55    * The type of events fired when a resource has wrote into the datastore
56    */
57   public static final int RESOURCE_WRITTEN = 303;
58 
59   /** Gets the ID of the resource involved in this event */
60   public Object getResourceID() {
61     return resourceID;
62   }
63 
64   /** Gets the resource involved in this event */
65   public gate.Resource getResource() {
66     return resource;
67   }
68 }