KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > facelets > el > TagValueExpression


1 /**
2  * Licensed under the Common Development and Distribution License,
3  * you may not use this file except in compliance with the License.
4  * You may obtain a copy of the License at
5  *
6  * http://www.sun.com/cddl/
7  *
8  * Unless required by applicable law or agreed to in writing, software
9  * distributed under the License is distributed on an "AS IS" BASIS,
10  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
11  * implied. See the License for the specific language governing
12  * permissions and limitations under the License.
13  */

14
15 package com.sun.facelets.el;
16
17 import java.io.Externalizable JavaDoc;
18 import java.io.IOException JavaDoc;
19 import java.io.ObjectInput JavaDoc;
20 import java.io.ObjectOutput JavaDoc;
21
22 import javax.el.ELContext;
23 import javax.el.ELException;
24 import javax.el.PropertyNotFoundException;
25 import javax.el.PropertyNotWritableException;
26 import javax.el.ValueExpression;
27
28 import com.sun.facelets.tag.TagAttribute;
29
30 /**
31  *
32  *
33  * @author Jacob Hookom
34  * @version $Id: TagValueExpression.java,v 1.6 2005/08/24 04:38:57 jhook Exp $
35  */

36 public final class TagValueExpression extends ValueExpression implements
37         Externalizable JavaDoc {
38
39     private static final long serialVersionUID = 1L;
40
41     private ValueExpression orig;
42
43     private String JavaDoc attr;
44
45     public TagValueExpression() {
46         super();
47     }
48
49     public TagValueExpression(TagAttribute attr, ValueExpression orig) {
50         this.attr = attr.toString();
51         this.orig = orig;
52     }
53
54     public Class JavaDoc getExpectedType() {
55         return this.orig.getExpectedType();
56     }
57
58     public Class JavaDoc getType(ELContext context) {
59         try {
60             return this.orig.getType(context);
61         } catch (PropertyNotFoundException pnfe) {
62             throw new PropertyNotFoundException(this.attr + ": "
63                     + pnfe.getMessage(), pnfe.getCause());
64         } catch (ELException e) {
65             throw new ELException(this.attr + ": " + e.getMessage(), e.getCause());
66         }
67     }
68
69     public Object JavaDoc getValue(ELContext context) {
70         try {
71             return this.orig.getValue(context);
72         } catch (PropertyNotFoundException pnfe) {
73             throw new PropertyNotFoundException(this.attr + ": "
74                     + pnfe.getMessage(), pnfe.getCause());
75         } catch (ELException e) {
76             throw new ELException(this.attr + ": " + e.getMessage(), e.getCause());
77         }
78     }
79
80     public boolean isReadOnly(ELContext context) {
81         try {
82             return this.orig.isReadOnly(context);
83         } catch (PropertyNotFoundException pnfe) {
84             throw new PropertyNotFoundException(this.attr + ": "
85                     + pnfe.getMessage(), pnfe.getCause());
86         } catch (ELException e) {
87             throw new ELException(this.attr + ": " + e.getMessage(), e.getCause());
88         }
89     }
90
91     public void setValue(ELContext context, Object JavaDoc value) {
92         try {
93             this.orig.setValue(context, value);
94         } catch (PropertyNotFoundException pnfe) {
95             throw new PropertyNotFoundException(this.attr + ": "
96                     + pnfe.getMessage(), pnfe.getCause());
97         } catch (PropertyNotWritableException pnwe) {
98             throw new PropertyNotWritableException(this.attr + ": "
99                     + pnwe.getMessage(), pnwe.getCause());
100         } catch (ELException e) {
101             throw new ELException(this.attr + ": " + e.getMessage(), e.getCause());
102         }
103     }
104
105     public boolean equals(Object JavaDoc obj) {
106         return this.orig.equals(obj);
107     }
108
109     public String JavaDoc getExpressionString() {
110         return this.orig.getExpressionString();
111     }
112
113     public int hashCode() {
114         return this.orig.hashCode();
115     }
116
117     public boolean isLiteralText() {
118         return this.orig.isLiteralText();
119     }
120
121     public void readExternal(ObjectInput JavaDoc in) throws IOException JavaDoc,
122             ClassNotFoundException JavaDoc {
123         this.orig = (ValueExpression) in.readObject();
124         this.attr = in.readUTF();
125     }
126
127     public void writeExternal(ObjectOutput JavaDoc out) throws IOException JavaDoc {
128         out.writeObject(this.orig);
129         out.writeUTF(this.attr);
130     }
131
132     public String JavaDoc toString() {
133         return this.attr + ": " + this.orig;
134     }
135 }
136
Popular Tags