1   /*
2    * OInstance.java
3    *
4    * Copyright (c) 2002, 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   * Kalina Bontcheva 11/2003
14   *
15   *
16   *  $Id: OInstance.java,v 1.10 2005/12/14 14:28:58 julien_nioche Exp $
17   */
18  package gate.creole.ontology;
19  
20  import java.util.Set;
21  
22  public interface OInstance extends OntologyResource {
23    /**
24     * Gets the set of classes this instance belongs to.
25     * 
26     * @return a set of {@link OClass} objects.
27     */
28    public Set getOClasses();
29  
30    /**
31     * Sets the user data of this instance. To be used to store arbitrary data on
32     * instances.
33     */
34    public void setUserData(Object theUserData);
35  
36    /**
37     * Gets the user data of this instance.
38     * 
39     * @return the object which is user data
40     */
41    public Object getUserData();
42  
43    public void setDifferentFrom(OInstance theIndividual);
44  
45    public Set getDifferentFrom();
46  
47    public void setSameIndividualAs(OInstance theIndividual);
48  
49    public Set getSameIndividualAs();
50  }