KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > lib > java > parser > ScannerToken


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 /*
20  * Token.java
21  *
22  * Created on January 7, 2002, 3:06 PM
23  */

24
25 package org.netbeans.lib.java.parser;
26
27 /**
28  *
29  * @author Tomas Hurka
30  */

31 public final class ScannerToken extends ASTClass implements Token {
32
33     private Token padding[];
34     private int tokenIndex;
35     private Object JavaDoc value;
36     private int startCharOffset;
37     private int endCharOffset;
38     private boolean deprecatedFlag; // deprecated flag setting
39

40     public ScannerToken(int t, int start, int end, Token[] pad, int index) {
41         super(null,t);
42         startCharOffset=start;
43         endCharOffset=end;
44         padding=pad;
45         tokenIndex=index;
46     }
47     
48     public ScannerToken(int t, Object JavaDoc o, int start, int end, Token[] pad, int index) {
49         this(t,start,end,pad,index);
50         value=o;
51     }
52     
53     public ScannerToken(int t, Object JavaDoc o, int start, int end, Token[] pad, int index, boolean deprecated) {
54         this(t,o,start,end,pad,index);
55         deprecatedFlag = deprecated;
56     }
57     
58     public ScannerToken(int t, Object JavaDoc o, int start, int end, Token[] pad, int index, boolean deprecated, ASTContext context) {
59         this(t,o,start,end,pad,index, deprecated);
60     setContext(context);
61     }
62     
63     int getTokenIndex() {
64         return tokenIndex;
65     }
66     
67     void setContext(ASTContext context) {
68         astContext = context;
69     }
70     
71     public String JavaDoc toString() {
72         String JavaDoc s="Type "+getType();
73         
74         if (value==null)
75             return s;
76         return s+" :"+value;
77     }
78     
79     public int getStartOffset() {
80         return startCharOffset;
81     }
82     
83     public int getEndOffset() {
84         return endCharOffset;
85     }
86     
87     /** Getter for property padding.
88      * @return Value of property padding.
89      */

90     public Token[] getPadding() {
91         return padding;
92     }
93     
94     /** Getter for property value.
95      * @return Value of property value.
96      */

97     public Object JavaDoc getValue() {
98         return value;
99     }
100     /* methods from ASTree */
101        
102     public int getFirstToken() {
103         return tokenIndex;
104     }
105     
106     public int getLastToken() {
107         return tokenIndex;
108     }
109     
110     public ASTree[] getSubTrees() {
111         return null;
112     }
113
114     /**
115      * Returns the scanner's deprecatedFlag setting when this token
116      * was created. Note: this does not indicate whether the structure
117      * associated with this token is actually deprecated, only the
118      * scanner's state. This is necessary so that accurate deprecation
119      * information can be returned after the scanner instance is released
120      * from a token array.
121      */

122     public boolean getDeprecatedFlag() {
123     return deprecatedFlag;
124     }
125 }
126
Popular Tags