|
AbstractLanguageResource |
|
1 /* 2 * AbstractLanguageResource.java 3 * 4 * Copyright (c) 1998-2001, 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, 24/Oct/2000 12 * 13 * $Id: AbstractLanguageResource.java,v 1.8 2001/11/13 17:10:56 marin Exp $ 14 */ 15 16 package gate.creole; 17 18 import java.util.*; 19 20 import gate.*; 21 import gate.util.*; 22 import gate.persist.*; 23 import gate.security.SecurityException; 24 25 26 /** A convenience implementation of LanguageResource with some default code. 27 */ 28 abstract public class AbstractLanguageResource 29 extends AbstractResource implements LanguageResource 30 { 31 static final long serialVersionUID = 3320133313194786685L; 32 33 /** Get the data store that this LR lives in. Null for transient LRs. */ 34 public DataStore getDataStore() { return dataStore; } 35 36 /** Set the data store that this LR lives in. */ 37 public void setDataStore(DataStore dataStore) throws PersistenceException { 38 this.dataStore = dataStore; 39 } // setDataStore(DS) 40 41 /** Returns the persistence id of this LR, if it has been stored in 42 * a datastore. Null otherwise. 43 */ 44 public Object getLRPersistenceId(){ 45 return lrPersistentId; 46 } 47 48 /** Sets the persistence id of this LR. To be used only in the 49 * Factory and DataStore code. 50 */ 51 public void setLRPersistenceId(Object lrID){ 52 this.lrPersistentId = lrID; 53 } 54 55 56 /** The data store this LR lives in. */ 57 transient protected DataStore dataStore; 58 59 /** The persistence ID of this LR. Only set, when dataStore is.*/ 60 transient protected Object lrPersistentId = null; 61 62 63 /** Save: synchonise the in-memory image of the LR with the persistent 64 * image. 65 */ 66 public void sync() 67 throws PersistenceException,SecurityException { 68 if(dataStore == null) 69 throw new PersistenceException("LR has no DataStore"); 70 71 dataStore.sync(this); 72 } // sync() 73 74 /** Clear the internal state of the resource 75 */ 76 public void cleanup() { 77 } //clear() 78 79 } // class AbstractLanguageResource 80
|
AbstractLanguageResource |
|