Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
ResolverBuilderForJSP |
|
| 1.5;1.5 |
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.el.unified; | |
20 | ||
21 | import java.util.ArrayList; | |
22 | import java.util.List; | |
23 | ||
24 | import javax.el.CompositeELResolver; | |
25 | import javax.el.ELResolver; | |
26 | ||
27 | import org.apache.myfaces.config.RuntimeConfig; | |
28 | import org.apache.myfaces.el.FlashELResolver; | |
29 | import org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.Scope; | |
30 | import org.apache.myfaces.el.unified.resolver.ManagedBeanResolver; | |
31 | import org.apache.myfaces.el.unified.resolver.ResourceBundleResolver; | |
32 | import org.apache.myfaces.el.unified.resolver.ResourceResolver; | |
33 | import org.apache.myfaces.el.unified.resolver.implicitobject.ImplicitObjectResolver; | |
34 | ||
35 | /** | |
36 | * build the el resolver for jsp. see 1.2 spec section 5.6.1 | |
37 | * | |
38 | * @author Mathias Broekelmann (latest modification by $Author$) | |
39 | * @version $Revision$ $Date$ | |
40 | */ | |
41 | public class ResolverBuilderForJSP extends ResolverBuilderBase implements ELResolverBuilder | |
42 | { | |
43 | public ResolverBuilderForJSP(RuntimeConfig config) | |
44 | { | |
45 | 0 | super(config); |
46 | 0 | } |
47 | ||
48 | public void build(CompositeELResolver compositeElResolver) | |
49 | { | |
50 | // add the ELResolvers to a List first to be able to sort them | |
51 | 0 | List<ELResolver> list = new ArrayList<ELResolver>(); |
52 | ||
53 | 0 | list.add(ImplicitObjectResolver.makeResolverForJSP()); |
54 | //Flash object is instanceof Map, so it is necessary to resolve | |
55 | //before MapELResolver. Better to put this one before | |
56 | 0 | list.add(new FlashELResolver()); |
57 | 0 | list.add(new ManagedBeanResolver()); |
58 | 0 | list.add(new ResourceBundleResolver()); |
59 | 0 | list.add(new ResourceResolver()); |
60 | ||
61 | 0 | addFromRuntimeConfig(list); |
62 | ||
63 | // give the user a chance to sort the resolvers | |
64 | 0 | sortELResolvers(list, Scope.JSP); |
65 | ||
66 | // give the user a chance to filter the resolvers | |
67 | 0 | Iterable<ELResolver> filteredELResolvers = filterELResolvers(list, Scope.JSP); |
68 | ||
69 | // add the resolvers from the list to the CompositeELResolver | |
70 | 0 | for (ELResolver resolver : filteredELResolvers) |
71 | { | |
72 | 0 | compositeElResolver.add(resolver); |
73 | 0 | } |
74 | 0 | } |
75 | ||
76 | } |