Line | |
---|
1 | package org.expeditee.simple;
|
---|
2 |
|
---|
3 | public class SString extends SPrimitive<String> {
|
---|
4 | public static String prefix = SVariable.prefix + "s" + SVariable.separator;
|
---|
5 |
|
---|
6 | Double doubleValue_ = null;
|
---|
7 |
|
---|
8 | public SString() {
|
---|
9 | super();
|
---|
10 | }
|
---|
11 |
|
---|
12 | public SString(String name, String value) {
|
---|
13 | super(name, value);
|
---|
14 | }
|
---|
15 |
|
---|
16 | public SString(String value) /* throws Exception */{
|
---|
17 | super(value);
|
---|
18 | }
|
---|
19 |
|
---|
20 | @Override
|
---|
21 | public void parse(String s) {
|
---|
22 | value_ = s;
|
---|
23 | doubleValue_ = null;
|
---|
24 | }
|
---|
25 |
|
---|
26 | @Override
|
---|
27 | public Boolean booleanValue() {
|
---|
28 | return Boolean.parseBoolean(value_);
|
---|
29 | }
|
---|
30 |
|
---|
31 | @Override
|
---|
32 | public Long integerValue() {
|
---|
33 | if (value_.equals(""))
|
---|
34 | return 0L;
|
---|
35 | try {
|
---|
36 | return Long.decode(value_);
|
---|
37 | } catch (NumberFormatException ne) {
|
---|
38 | }
|
---|
39 | return Math.round(Double.parseDouble(value_));
|
---|
40 | }
|
---|
41 |
|
---|
42 | @Override
|
---|
43 | public Double doubleValue() {
|
---|
44 | if (doubleValue_ != null)
|
---|
45 | return doubleValue_;
|
---|
46 |
|
---|
47 | if (value_.equals(""))
|
---|
48 | doubleValue_ = 0.0;
|
---|
49 | else {
|
---|
50 | try {
|
---|
51 | doubleValue_ = Double.parseDouble(value_);
|
---|
52 | } catch (NumberFormatException ne) {
|
---|
53 | try{
|
---|
54 | doubleValue_ =(double) Long.decode(value_);
|
---|
55 | }catch(Exception e){
|
---|
56 | doubleValue_ = Double.NaN;
|
---|
57 | }
|
---|
58 | }
|
---|
59 | }
|
---|
60 | return doubleValue_;
|
---|
61 | }
|
---|
62 |
|
---|
63 | @Override
|
---|
64 | public String stringValue() {
|
---|
65 | return value_;
|
---|
66 | }
|
---|
67 |
|
---|
68 | @Override
|
---|
69 | public Character characterValue() {
|
---|
70 | if (value_.length() > 0)
|
---|
71 | return value_.charAt(0);
|
---|
72 |
|
---|
73 | return '\0';
|
---|
74 | }
|
---|
75 |
|
---|
76 | @Override
|
---|
77 | public void setValue(SPrimitive v) {
|
---|
78 | value_ = v.stringValue();
|
---|
79 | doubleValue_ = null;
|
---|
80 | }
|
---|
81 |
|
---|
82 | public int length() {
|
---|
83 | return value_.length();
|
---|
84 | }
|
---|
85 | } |
---|
Note:
See
TracBrowser
for help on using the repository browser.