Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/jdk.jcmd/share/classes/sun/tools/jstat/Token.java
41159 views
1
/*
2
* Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package sun.tools.jstat;
27
28
import java.io.StreamTokenizer;
29
30
/**
31
* A class for encapsulating tokens returned from StreamTokenizer primarily
32
* for output formatting purposes.
33
*
34
* @author Brian Doherty
35
* @since 1.5
36
*/
37
public class Token {
38
public String sval;
39
public double nval;
40
public int ttype;
41
42
public Token(int ttype, String sval, double nval) {
43
this.ttype = ttype;
44
this.sval = sval;
45
this.nval = nval;
46
}
47
48
public Token(int ttype, String sval) {
49
this(ttype, sval, 0);
50
}
51
52
public Token(int ttype) {
53
this(ttype, null, 0);
54
}
55
56
public String toMessage() {
57
switch(ttype) {
58
case StreamTokenizer.TT_EOL:
59
return "\"EOL\"";
60
case StreamTokenizer.TT_EOF:
61
return "\"EOF\"";
62
case StreamTokenizer.TT_NUMBER:
63
return "NUMBER";
64
case StreamTokenizer.TT_WORD:
65
if (sval == null) {
66
return "IDENTIFIER";
67
} else {
68
return "IDENTIFIER " + sval;
69
}
70
default:
71
if (ttype == (int)'"') {
72
String msg = "QUOTED STRING";
73
if (sval != null)
74
msg = msg + " \"" + sval + "\"";
75
return msg;
76
} else {
77
return "CHARACTER \'" + (char)ttype + "\'";
78
}
79
}
80
}
81
82
public String toString() {
83
StringBuilder sb = new StringBuilder();
84
switch(ttype) {
85
case StreamTokenizer.TT_EOL:
86
sb.append("ttype=TT_EOL");
87
break;
88
case StreamTokenizer.TT_EOF:
89
sb.append("ttype=TT_EOF");
90
break;
91
case StreamTokenizer.TT_NUMBER:
92
sb.append("ttype=TT_NUM,").append("nval="+nval);
93
break;
94
case StreamTokenizer.TT_WORD:
95
if (sval == null) {
96
sb.append("ttype=TT_WORD:IDENTIFIER");
97
} else {
98
sb.append("ttype=TT_WORD:").append("sval="+sval);
99
}
100
break;
101
default:
102
if (ttype == (int)'"') {
103
sb.append("ttype=TT_STRING:").append("sval="+sval);
104
} else {
105
sb.append("ttype=TT_CHAR:").append((char)ttype);
106
}
107
break;
108
}
109
return sb.toString();
110
}
111
}
112
113