1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.el.unified;
20
21 import java.util.ArrayList;
22 import java.util.List;
23
24 import javax.el.ArrayELResolver;
25 import javax.el.BeanELResolver;
26 import javax.el.CompositeELResolver;
27 import javax.el.ELResolver;
28 import javax.el.ListELResolver;
29 import javax.el.MapELResolver;
30 import javax.el.ResourceBundleELResolver;
31
32 import org.apache.myfaces.config.RuntimeConfig;
33 import org.apache.myfaces.el.FlashELResolver;
34 import org.apache.myfaces.el.unified.resolver.CompositeComponentELResolver;
35 import org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.Scope;
36 import org.apache.myfaces.el.unified.resolver.ManagedBeanResolver;
37 import org.apache.myfaces.el.unified.resolver.ResourceBundleResolver;
38 import org.apache.myfaces.el.unified.resolver.ResourceResolver;
39 import org.apache.myfaces.el.unified.resolver.ScopedAttributeResolver;
40 import org.apache.myfaces.el.unified.resolver.implicitobject.ImplicitObjectResolver;
41
42
43
44
45
46
47
48 public class ResolverBuilderForFaces extends ResolverBuilderBase implements ELResolverBuilder
49 {
50 public ResolverBuilderForFaces(RuntimeConfig config)
51 {
52 super(config);
53 }
54
55 public void build(CompositeELResolver compositeElResolver)
56 {
57
58 List<ELResolver> list = new ArrayList<ELResolver>();
59
60 list.add(ImplicitObjectResolver.makeResolverForFaces());
61 list.add(new CompositeComponentELResolver());
62
63 addFromRuntimeConfig(list);
64
65
66
67 list.add(new FlashELResolver());
68 list.add(new ManagedBeanResolver());
69 list.add(new ResourceResolver());
70 list.add(new ResourceBundleELResolver());
71 list.add(new ResourceBundleResolver());
72 list.add(new MapELResolver());
73 list.add(new ListELResolver());
74 list.add(new ArrayELResolver());
75 list.add(new BeanELResolver());
76
77
78 sortELResolvers(list, Scope.Faces);
79
80
81 Iterable<ELResolver> filteredELResolvers = filterELResolvers(list, Scope.Faces);
82
83
84 for (ELResolver resolver : filteredELResolvers)
85 {
86 compositeElResolver.add(resolver);
87 }
88
89
90
91 compositeElResolver.add(new ScopedAttributeResolver());
92 }
93
94 }