01: /*
02: * This file or a portion of this file is licensed under the terms of
03: * the Globus Toolkit Public License, found in file GTPL, or at
04: * http://www.globus.org/toolkit/download/license.html. This notice must
05: * appear in redistributions of this file, with or without modification.
06: *
07: * Redistributions of this Software, with or without modification, must
08: * reproduce the GTPL in: (1) the Software, or (2) the Documentation or
09: * some other similar material which is provided with the Software (if
10: * any).
11: *
12: * Copyright 1999-2004 University of Chicago and The University of
13: * Southern California. All rights reserved.
14: */
15: package org.griphyn.vdl.parser;
16:
17: /**
18: * Class to pass the name of a definition from scanner to parser.
19: * The class is used for both, the namespace::name:version info as
20: * well as the namespace::name:min,max mapping.
21: * This class is module-local on purpose.
22: *
23: * @author Jens-S. Vöckler
24: * @version $Revision: 50 $
25: *
26: */
27: class VDLtFQDN implements VDLtToken {
28: /**
29: * The name of the identifier
30: */
31: private String m_value[];
32:
33: /**
34: * Contructs an empty fqdn to pass.
35: */
36: public VDLtFQDN() {
37: this .m_value = new String[4];
38: }
39:
40: /**
41: * Sets a part of the fqdn to the given value.
42: * @param index is the part to set
43: * @param value is the new value to set the part for
44: * @return the old value at the slot. For an index out of bounds,
45: * null will always be returned.
46: */
47: public String setValue(int index, String value) {
48: if (index >= 0 && index < m_value.length) {
49: String old = m_value[index];
50: m_value[index] = value;
51: return old;
52: } else {
53: // out of bounds, ignore
54: return null;
55: }
56: }
57:
58: /**
59: * Obtains the current name value of an fqdn part.
60: * @param index is the part to obtain the value for
61: * @return the name of the identifer, which may be null. null is
62: * always returned for index out of bounds.
63: */
64: public String getValue(int index) {
65: if (index >= 0 && index < m_value.length)
66: return this.m_value[index];
67: else
68: return null;
69: }
70: }
|