NodeImpl.java |
1 /* 2 * NodeImpl.java 3 * 4 * Copyright (c) 1998-2005, 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 * Valentin Tablan, 24.01.2000 12 * 13 * $Id: NodeImpl.java,v 1.12 2005/01/11 13:51:30 ian Exp $ 14 */ 15 16 package gate.annotation; 17 18 import gate.Node; 19 20 /** Provides an implementation for the interface gate.Node. 21 * 22 */ 23 public class NodeImpl implements Node, Comparable 24 { 25 /** Debug flag 26 */ 27 private static final boolean DEBUG = false; 28 29 /** Freeze the serialization UID. */ 30 static final long serialVersionUID = -8240414984367916298L; 31 32 /** Construction from id. Creates an unrooted node. 33 */ 34 public NodeImpl (Integer id) { 35 this.id = id; 36 offset = null; 37 } // Node() 38 39 /** Construction from id and offset. 40 * 41 * @param id the Id of the new node 42 * @param offset the (temporal) offset of the Node; Should be <b>null</b> 43 * for non-anchored nodes. 44 */ 45 public NodeImpl (Integer id, Long offset) { 46 this.id = id; 47 this.offset = offset; 48 } // Node(id, offset) 49 50 /** Returns the Id of the Node. 51 */ 52 public Integer getId () { return id; } 53 54 /** Offset (will be null when the node is not anchored) 55 */ 56 public Long getOffset () { return offset; } 57 58 /** String representation 59 */ 60 public String toString() { 61 return "NodeImpl: id=" + id + "; offset=" + offset; 62 } // toString() 63 64 /** Ordering 65 */ 66 public int compareTo(Object o) throws ClassCastException { 67 Node other = (Node) o; 68 return id.compareTo(other.getId()); 69 } // compareTo 70 71 /** To allow AnnotationSet to revise offsets during editing 72 */ 73 void setOffset(Long offset) { this.offset = offset; } 74 75 /** 76 * The id of this node (used for persistency) 77 * 78 */ 79 Integer id; 80 /** 81 * The offset of this node 82 * 83 */ 84 Long offset; 85 } 86