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.4 2004/07/27 17:38:30 kalina Exp $
17   */
18  
19  package gate.creole.ontology;
20  
21  import java.util.Set;
22  
23  public interface OInstance{
24  
25    /** Gets the class of this instance.
26     *  @return the class
27     */
28    public OClass getOClass();
29  
30    /** Gets the name of this instance.
31     *  @return the name
32     */
33    public String getName();
34  
35    /** Sets the user data of this instance. To be used to
36     * store arbitrary data on instances.
37     */
38    public void setUserData(Object theUserData);
39  
40    /** Gets the user data of this instance.
41     *  @return the object which is user data
42     */
43    public Object getUserData();
44  
45    public void setDifferentFrom(OInstance theIndividual);
46  
47    public Set getDifferentFrom();
48  
49    public void setPropertyValue(Property theProperty, Object theValue);
50  
51    public Object getPropertyValue(Property theProperty);
52  
53    public void setSameIndividualAs(OInstance theIndividual);
54  
55    public Set getSameIndividualAs();
56  
57  }