KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > el > parser > AstString


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the "License"). You may not use this file except
5  * in compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * glassfish/bootstrap/legal/CDDLv1.0.txt or
9  * https://glassfish.dev.java.net/public/CDDLv1.0.html.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * HEADER in each file and include the License file at
15  * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
16  * add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your
18  * own identifying information: Portions Copyright [yyyy]
19  * [name of copyright owner]
20  *
21  * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
22  */
/* Generated By:JJTree: Do not edit this line. AstString.java */
23
24 package com.sun.el.parser;
25
26 import javax.el.ELException;
27
28 import com.sun.el.lang.EvaluationContext;
29
30 /**
31  * @author Jacob Hookom [jacob@hookom.net]
32  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: kchung $
33  */

34 public final class AstString extends SimpleNode {
35     public AstString(int id) {
36         super(id);
37     }
38
39     private String JavaDoc string;
40
41     public String JavaDoc getString() {
42         if (this.string == null) {
43             this.string = this.image.substring(1, this.image.length() - 1);
44         }
45         return this.string;
46     }
47
48     public Class JavaDoc getType(EvaluationContext ctx)
49             throws ELException {
50         return String JavaDoc.class;
51     }
52
53     public Object JavaDoc getValue(EvaluationContext ctx)
54             throws ELException {
55         return this.getString();
56     }
57
58     public void setImage(String JavaDoc image) {
59         if (image.indexOf('\\') == -1) {
60             this.image = image;
61             return;
62         }
63         int size = image.length();
64         StringBuffer JavaDoc buf = new StringBuffer JavaDoc(size);
65         for (int i = 0; i < size; i++) {
66             char c = image.charAt(i);
67             if (c == '\\' && i + 1 < size) {
68                 char c1 = image.charAt(i + 1);
69                 if (c1 == '\\' || c1 == '"' || c1 == '\'' || c1 == '#'
70                         || c1 == '$') {
71                     c = c1;
72                     i++;
73                 }
74             }
75             buf.append(c);
76         }
77         this.image = buf.toString();
78     }
79 }
80
Popular Tags