KickJava   Java API By Example, From Geeks To Geeks.

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


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. AstLiteralExpression.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 AstLiteralExpression extends SimpleNode {
35     public AstLiteralExpression(int id) {
36         super(id);
37     }
38
39     public Class JavaDoc getType(EvaluationContext ctx) throws ELException {
40         return String JavaDoc.class;
41     }
42
43     public Object JavaDoc getValue(EvaluationContext ctx) throws ELException {
44         return this.image;
45     }
46
47     public void setImage(String JavaDoc image) {
48         if (image.indexOf('\\') == -1) {
49             this.image = image;
50             return;
51         }
52         int size = image.length();
53         StringBuffer JavaDoc buf = new StringBuffer JavaDoc(size);
54         for (int i = 0; i < size; i++) {
55             char c = image.charAt(i);
56             if (c == '\\' && i + 1 < size) {
57                 char c1 = image.charAt(i + 1);
58                 if (c1 == '\\' || c1 == '"' || c1 == '\'' || c1 == '#'
59                         || c1 == '$') {
60                     c = c1;
61                     i++;
62                 }
63             }
64             buf.append(c);
65         }
66         this.image = buf.toString();
67     }
68 }
69
Popular Tags