PropertyValue.java
01 /*
02  *  PropertyValue.java
03  *
04  *  Niraj Aswani, 09/March/07
05  *
06  *  $Id: PropertyValue.html,v 1.0 2007/03/09 16:13:01 niraj Exp $
07  */
08 package gate.gui.ontology;
09 
10 import gate.creole.ontology.Literal;
11 import gate.creole.ontology.RDFProperty;
12 
13 /**
14  * There are various types of properties (e.g.
15  * RDF/Object/Datatype/Annotation etc). Resources with different
16  * properties have different types of property values (e.g. Instances
17  * for Object properties, string values for annotation/datatype and so
18  * on). This class represents a property value and its type.
19  
20  @author niraj
21  
22  */
23 public class PropertyValue {
24 
25   /**
26    * The instance of property for which the value is of type.
27    */
28   protected RDFProperty property;
29 
30   /**
31    * The actual value (it can be string or an instance of OResource)
32    */
33   protected Object value;
34 
35   /**
36    * Constructor
37    
38    @param property
39    @param value
40    */
41   public PropertyValue(RDFProperty property, Object value) {
42     this.property = property;
43     this.value = value;
44   }
45 
46   /**
47    * Gets the associated property
48    */
49   public RDFProperty getProperty() {
50     return property;
51   }
52 
53   /**
54    * Gets the set value
55    */
56   public Object getValue() {
57     return value;
58   }
59 
60   /**
61    * Returns the string representation (i.e. propertyURI("value")) which
62    * is used to show in the right hand side panel of the Ontology
63    * Editor.
64    */
65   @Override
66   public String toString() {
67     StringBuffer sb = new StringBuffer(property.toString());
68     sb.append("(");
69     if(value instanceof Literal) {
70       sb.append(((Literal)value).getValue());
71     }
72     else {
73       sb.append(value.toString());
74     }
75     sb.append(")");
76     return sb.toString();
77   }
78 }