1 /*
2 * $Header: /home/projects/jaxen/scm/jaxen/src/java/main/org/jaxen/saxpath/base/Token.java,v 1.5 2006/02/05 21:47:42 elharo Exp $
3 * $Revision: 1.5 $
4 * $Date: 2006/02/05 21:47:42 $
5 *
6 * ====================================================================
7 *
8 * Copyright 2000-2002 bob mcwhirter & James Strachan.
9 * All rights reserved.
10 *
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions are
14 * met:
15 *
16 * * Redistributions of source code must retain the above copyright
17 * notice, this list of conditions and the following disclaimer.
18 *
19 * * Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 *
23 * * Neither the name of the Jaxen Project nor the names of its
24 * contributors may be used to endorse or promote products derived
25 * from this software without specific prior written permission.
26 *
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
28 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
29 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
30 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
31 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
32 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
33 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
34 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
35 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
36 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
37 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38 *
39 * ====================================================================
40 * This software consists of voluntary contributions made by many
41 * individuals on behalf of the Jaxen Project and was originally
42 * created by bob mcwhirter <bob@werken.com> and
43 * James Strachan <jstrachan@apache.org>. For more information on the
44 * Jaxen Project, please see <http://www.jaxen.org/>.
45 *
46 * $Id: Token.java,v 1.5 2006/02/05 21:47:42 elharo Exp $
47 */
48
49
50
51
52 package org.jaxen.saxpath.base;
53
54 class Token
55 {
56 private int tokenType;
57 private String parseText;
58 private int tokenBegin;
59 private int tokenEnd;
60
61 Token(int tokenType,
62 String parseText,
63 int tokenBegin,
64 int tokenEnd)
65 {
66 setTokenType( tokenType );
67 setParseText( parseText );
68 setTokenBegin( tokenBegin );
69 setTokenEnd( tokenEnd );
70 }
71
72 private void setTokenType(int tokenType)
73 {
74 this.tokenType = tokenType;
75 }
76
77 int getTokenType()
78 {
79 return this.tokenType;
80 }
81
82 private void setParseText(String parseText)
83 {
84 this.parseText = parseText;
85 }
86
87 String getTokenText()
88 {
89 return this.parseText.substring( getTokenBegin(),
90 getTokenEnd() );
91 }
92
93 private void setTokenBegin(int tokenBegin)
94 {
95 this.tokenBegin = tokenBegin;
96 }
97
98 int getTokenBegin()
99 {
100 return this.tokenBegin;
101 }
102
103 private void setTokenEnd(int tokenEnd)
104 {
105 this.tokenEnd = tokenEnd;
106 }
107
108 int getTokenEnd()
109 {
110 return this.tokenEnd;
111 }
112
113 public String toString()
114 {
115 return ("[ (" + tokenType + ") (" + getTokenText() + ")");
116 }
117 }