Thumbnail file hits. Based on a patch from D Bera
[beagle.git] / beagled / Lucene.Net / QueryParser / Token.cs
blob29d7a41186a0acbae893906018a86944ddabee18
1 /*
2 * Copyright 2004 The Apache Software Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 /* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */
17 using System;
18 namespace Lucene.Net.QueryParsers
21 /// <summary> Describes the input token stream.</summary>
23 public class Token
26 /// <summary> An integer that describes the kind of this token. This numbering
27 /// system is determined by JavaCCParser, and a table of these numbers is
28 /// stored in the file ...Constants.java.
29 /// </summary>
30 public int kind;
32 /// <summary> beginLine and beginColumn describe the position of the first character
33 /// of this token; endLine and endColumn describe the position of the
34 /// last character of this token.
35 /// </summary>
36 public int beginLine, beginColumn, endLine, endColumn;
38 /// <summary> The string image of the token.</summary>
39 public System.String image;
41 /// <summary> A reference to the next regular (non-special) token from the input
42 /// stream. If this is the last token from the input stream, or if the
43 /// token manager has not read tokens beyond this one, this Field is
44 /// set to null. This is true only if this token is also a regular
45 /// token. Otherwise, see below for a description of the contents of
46 /// this Field.
47 /// </summary>
48 public Token next;
50 /// <summary> This Field is used to access special tokens that occur prior to this
51 /// token, but after the immediately preceding regular (non-special) token.
52 /// If there are no such special tokens, this Field is set to null.
53 /// When there are more than one such special token, this Field refers
54 /// to the last of these special tokens, which in turn refers to the next
55 /// previous special token through its specialToken Field, and so on
56 /// until the first special token (whose specialToken Field is null).
57 /// The next fields of special tokens refer to other special tokens that
58 /// immediately follow it (without an intervening regular token). If there
59 /// is no such token, this Field is null.
60 /// </summary>
61 public Token specialToken;
63 /// <summary> Returns the image.</summary>
64 public override System.String ToString()
66 return image;
69 /// <summary> Returns a new Token object, by default. However, if you want, you
70 /// can create and return subclass objects based on the value of ofKind.
71 /// Simply add the cases to the switch for all those special cases.
72 /// For example, if you have a subclass of Token called IDToken that
73 /// you want to create if ofKind is ID, simlpy add something like :
74 ///
75 /// case MyParserConstants.ID : return new IDToken();
76 ///
77 /// to the following switch statement. Then you can cast matchedToken
78 /// variable to the appropriate type and use it in your lexical actions.
79 /// </summary>
80 public static Token NewToken(int ofKind)
82 switch (ofKind)
85 default: return new Token();