View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.myfaces.view.facelets.el;
20  
21  import java.io.Externalizable;
22  import java.io.IOException;
23  import java.io.ObjectInput;
24  import java.io.ObjectOutput;
25  import javax.el.ELContext;
26  import javax.el.ValueExpression;
27  import javax.faces.FacesWrapper;
28  
29  /**
30   *
31   */
32  public class CacheableValueExpressionWrapper extends ValueExpression
33      implements FacesWrapper<ValueExpression>, Externalizable, CacheableValueExpression
34  {
35      private static final long serialVersionUID = -5636849184764526288L;
36      
37      ValueExpression delegate;
38  
39      public CacheableValueExpressionWrapper()
40      {
41      }
42  
43      public CacheableValueExpressionWrapper(ValueExpression delegate)
44      {
45          this.delegate = delegate;
46      }
47      
48      @Override
49      public Class<?> getExpectedType()
50      {
51          return delegate.getExpectedType();
52      }
53  
54      @Override
55      public Class<?> getType(ELContext context)
56      {
57          return delegate.getType(context);
58      }
59  
60      @Override
61      public Object getValue(ELContext context)
62      {
63          return delegate.getValue(context);
64      }
65  
66      @Override
67      public boolean isReadOnly(ELContext context)
68      {
69          return delegate.isReadOnly(context);
70      }
71  
72      @Override
73      public void setValue(ELContext context, Object value)
74      {
75          delegate.setValue(context, value);
76      }
77  
78      @Override
79      public boolean equals(Object obj)
80      {
81          return delegate.equals(obj);
82      }
83  
84      @Override
85      public String getExpressionString()
86      {
87          return delegate.getExpressionString();
88      }
89  
90      @Override
91      public int hashCode()
92      {
93          return delegate.hashCode();
94      }
95  
96      @Override
97      public boolean isLiteralText()
98      {
99          return delegate.isLiteralText();
100     }
101 
102     public ValueExpression getWrapped()
103     {
104         return delegate;
105     }
106     
107     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
108     {
109         this.delegate = (ValueExpression) in.readObject();
110     }
111 
112     public void writeExternal(ObjectOutput out) throws IOException
113     {
114         out.writeObject(this.delegate);
115     }
116 }