OntologyEditor.java |
1 /* 2 * OntologyEditor.java 3 * 4 * Copyright (c) 2002-2004, 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, June1991. 9 * 10 * A copy of this licence is included in the distribution in the file 11 * licence.html, and is also available at http://gate.ac.uk/gate/licence.html. 12 * 13 * borislav popov 17/04/2002 14 * 15 * $Id: OntologyEditor.java,v 1.7 2005/12/14 14:28:58 julien_nioche Exp $ 16 */ 17 package gate.creole.ontology; 18 19 import gate.VisualResource; 20 import gate.creole.ResourceInstantiationException; 21 import java.util.Set; 22 import java.util.Vector; 23 import com.ontotext.gate.vr.ClassNode; 24 25 /** 26 * An interface defining the methods of an Ontology Editor. 27 */ 28 public interface OntologyEditor extends VisualResource { 29 /** 30 * Creates a new ontology 31 * 32 * @param name 33 * the name of the ontology 34 * @param sourceURI 35 * the URI of the ontology 36 * @param theURL 37 * the URL of the ontology 38 * @param comment 39 * ontology comment 40 */ 41 public void createOntology(String name, String sourceURI, String theURL, 42 String comment) throws ResourceInstantiationException; 43 44 /** 45 * Sets the ontology to be loaded in the editor 46 * 47 * @param o 48 * the ontology to be loaded 49 */ 50 public void setOntology(Taxonomy o); 51 52 /** 53 * Gets the loaded ontology 54 * 55 * @return the current ontology in the editor 56 */ 57 public Taxonomy getOntology(); 58 59 /** 60 * Sets the list of ontologies to be loaded in the editor 61 * 62 * @param list 63 * the list of ontologies 64 */ 65 public void setOntologyList(Vector list); 66 67 /** 68 * Gets the list of ontologies currently in the editor 69 * 70 * @return the list of ontologies 71 */ 72 public Vector getOntologyList(); 73 74 /** Visualizes the editor */ 75 public void visualize(); 76 77 /** 78 * Invokes an add sub class dialog in position x,y 79 * 80 * @param x 81 * the x coordinate of the dialog 82 * @param y 83 * the y coordinate of the dialog 84 */ 85 public void addSubClass(int x, int y); 86 87 /** 88 * Adds Sub Class given a ClassNode and the resulting info from the Add Sub 89 * Class dialog. 90 * 91 * @param root 92 * the node which is root to the sub class being added 93 * @param className 94 * the name from the dialog 95 * @param classComment 96 * the comment from the dialog 97 */ 98 public void addSubClass(ClassNode root, String className, String classComment); 99 100 /** 101 * Removes the node/class 102 * 103 * @param node 104 * the node to be removed 105 */ 106 public void removeClass(ClassNode node); 107 108 /** 109 * Renames a class 110 * 111 * @param c 112 * the class to be renamed 113 * @param n 114 * the class node associated with the class 115 * @param x 116 * coords 117 * @param y 118 * coords 119 */ 120 public void renameClass(TClass c, ClassNode n, int x, int y); 121 122 /** 123 * Selects an ontology. Is called when an ontology has been selecte from the 124 * ontology list. 125 * 126 * @param o 127 * the selected ontology 128 */ 129 public void ontologySelected(Taxonomy o); 130 131 /** 132 * Saves a list of ontologies. 133 * 134 * @param list 135 * a list of ontologies to be saved 136 */ 137 public void saveOntologies(Vector list); 138 139 /** 140 * Closes list of ontologies 141 * 142 * @param list 143 * a list of ontologies to be saved 144 */ 145 public void closeOntologies(Vector list) 146 throws ResourceInstantiationException; 147 148 /** 149 * Gets all modified ontologies. 150 * 151 * @return list of the modified ontologies 152 */ 153 public Vector getModifiedOntologies(); 154 155 /*----------ontologies list popup menu item listeners------------ 156 note: these methods could be invoked from within a listener or explicitly*/ 157 /** 158 * Saves this ontology 159 * 160 * @param o 161 * the ontology to be saved 162 * @throws {@link ResourceInstantiationException} 163 */ 164 public void saveOntology(Taxonomy o) throws ResourceInstantiationException; 165 166 /** 167 * Invokes a Save As dialog for this ontology and saves it to the specified 168 * location. 169 * 170 * @param o 171 * the ontology to be saved 172 * @param x 173 * the x coordinate of the save as dialog 174 * @param y 175 * the y coordinate of the save as dialog 176 */ 177 public void saveAsOntology(Taxonomy o, int x, int y) 178 throws ResourceInstantiationException; 179 180 /** 181 * Renames an ontology 182 * 183 * @param o 184 * the ontology to be renamed 185 * @param x 186 * the x coordinate of the rename dialog 187 * @param y 188 * the y coordinate of the rename dialog 189 */ 190 public void renameOntology(Taxonomy o, int x, int y); 191 192 /** 193 * Deletes an ontology. Invokes AreYouSureDialog if the ontology has been 194 * changed. 195 * 196 * @param o 197 * the ontology to be deleted 198 * @param x 199 * x coordinate of the option pane to be invoked 200 * @param y 201 * y coordinate of the option pane to be invoked 202 */ 203 public void deleteOntology(Taxonomy o, int x, int y) 204 throws ResourceInstantiationException; 205 206 /** 207 * Edits the URI of an ontology. 208 * 209 * @param o 210 * the ontology to be edited 211 * @param x 212 * coords of the dialog 213 * @param y 214 * coords of the dialog 215 */ 216 public void editURI(Taxonomy o, int x, int y); 217 218 /** 219 * Edit the URI of an ontology class 220 * 221 * @param c 222 * class to be edited 223 * @param x 224 * coords of the dialog 225 * @param y 226 * coords of the dialog 227 */ 228 public void editClassURI(TClass c, int x, int y); 229 230 /** 231 * Gets all URIs that are present at the moment as ontology URIs. 232 * 233 * @return all the uris that are available in the editor 234 */ 235 public Set getAllURIs(); 236 237 /** 238 * Retrieve a set of all the class URIs in an ontology 239 * 240 * @param o 241 * the ontology 242 * @return set of all the URIs in the ontology 243 */ 244 public Set getAllURIs(Taxonomy o); 245 246 /** 247 * Closes an ontology. Invokes AreYouSureDialog if the ontology has been 248 * changed. 249 * 250 * @param o 251 * the ontology to be closed 252 * @param x 253 * x coordinate of the option pane to be invoked 254 * @param y 255 * y coordinate of the option pane to be invoked 256 */ 257 public void closeOntology(Taxonomy o, int x, int y) 258 throws ResourceInstantiationException; 259 260 /* End-------ontologies list popup menu item listeners------------ */ 261 /** 262 * Wanna Save Dialog invocation. 263 * 264 * @param o 265 * the ontology to be saved or not 266 * @param x 267 * x coordinate of the option pane to be invoked 268 * @param y 269 * y coordinate of the option pane to be invoked 270 * @return the result of the option pane 271 */ 272 public int AskWannaSave(Taxonomy o, int x, int y); 273 274 /*------------- menu bar methods --------------*/ 275 /** 276 * Acts on choosing Exit from the File menu. 277 */ 278 public void fileExit(); 279 280 /** 281 * Acts on choosing Open from the File menu. 282 * 283 * @param x 284 * the x coordinate of the invocation 285 * @param y 286 * the y coordinate of the invocation 287 * @throws ResourceInstantiationException 288 * if something goes wrong with the loading. 289 */ 290 public void fileOpen(int x, int y) throws ResourceInstantiationException; 291 292 /** 293 * Invoke a mutiple selection save dialog with a list of ontologies to be 294 * saved. 295 * 296 * @param x 297 * coords of the dialog 298 * @param y 299 * coords of the dialog 300 * @param ontologies 301 * the list of ontologies to be optionally saved 302 */ 303 public void fileSave(int x, int y, Vector ontologies); 304 305 /** 306 * Invokes a mutiple selection close dialog with a list of ontologies to be 307 * closed. 308 * 309 * @param x 310 * coords of the dialog 311 * @param y 312 * coords of the dialog 313 * @param ontologies 314 * the list of ontologies to be optionally closed 315 */ 316 public void fileClose(int x, int y, Vector ontologies); 317 318 /** 319 * Inovkes a new ontology dialog. 320 * 321 * @param x 322 * coords of the dialog 323 * @param y 324 * coords of the dialog 325 */ 326 public void fileNew(int x, int y); 327 }// interface OntologyEditor 328