| JdmAttribute.java |
1 /*
2 * JdmAttribute.java
3 *
4 * Copyright (c) 1998-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, June 1991 (in the distribution as file licence.html,
9 * and also available at http://gate.ac.uk/gate/licence.html).
10 *
11 * Kalina Bontcheva, 23/02/2000
12 *
13 * $Id: JdmAttribute.java,v 1.7 2004/07/21 17:10:08 akshay Exp $
14 *
15 * Description: This is JDM aimed at repeating the functionality of GDM
16 */
17
18 package gate.jape;
19
20 import java.io.Serializable;
21
22 /**
23 * THIS CLASS SHOULDN'T BE HERE. Please let's all ignore it, and maybe
24 * it will go away.
25 * <P>
26 * Implements the TIPSTER and GDM API for attributes.
27 * Test code in <code>testAttributes</code> class. <P>
28 * The JdmAttribute class would accept all java serialisable classes, all
29 * jdm classes and also all user-defined classes provided they implement
30 * the Serializable interface. This restriction is necessary since Jdm
31 * uses Java serialisation to ensure object persistency. However, making
32 * classes serialisable is usually quite straightforward. <P>
33 * @author Kalina Bontcheva
34 */
35 public class JdmAttribute implements Serializable {
36
37 /** Debug flag */
38 private static final boolean DEBUG = false;
39
40 private String name;
41 private Object value;
42
43 protected JdmAttribute() {
44 }
45
46 /** throws JdmException when the value isn't one of the types we know
47 * how to store, i.e., a serialisable or Jdm class.
48 */
49 public JdmAttribute(String name, Object value) {
50 this.name = name; this.value = value;
51 }
52
53 /** throws JdmException when the value isn't one of the types we know
54 * how to store, i.e., a serialisable or Jdm class.
55 */
56 public JdmAttribute(JdmAttribute jdmAttr) {
57 String name = jdmAttr.getName();
58 Object value = jdmAttr.getValue();
59 }
60
61 public String getName() {
62 return name;
63 }
64
65 public Object getValue() {
66 return value;
67 }
68
69 public String getValueType() {
70 return value.getClass().getName();
71 }
72
73 public boolean equals(Object obj) {
74 JdmAttribute a = (JdmAttribute) obj;
75 return a.getName().equals(name) && a.getValue().equals(value);
76 }
77
78 public String toString() {
79 return "JdmAttr: name=" + name + "; value=" + value.toString();
80
81 }
82
83 } // class JdmAttribute
84