1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.orchestra.viewController;
21
22 /***
23 * Each view controller configured with the constructor will be asked to map the given viewId.
24 * The first one not returning NULL wins.
25 */
26 public class CompositeViewControllerNameMapper implements ViewControllerNameMapper
27 {
28 private final ViewControllerNameMapper[] viewControllerNameMappers;
29
30 public CompositeViewControllerNameMapper(ViewControllerNameMapper[] viewControllerNameMappers)
31 {
32 this.viewControllerNameMappers = new ViewControllerNameMapper[viewControllerNameMappers.length];
33 System.arraycopy(viewControllerNameMappers, 0, this.viewControllerNameMappers, 0, viewControllerNameMappers.length);
34 }
35
36 public String mapViewId(String viewId)
37 {
38 for (int i = 0; i<viewControllerNameMappers.length; i++)
39 {
40 String beanName = viewControllerNameMappers[i].mapViewId(viewId);
41 if (beanName != null)
42 {
43 return beanName;
44 }
45 }
46
47 return null;
48 }
49 }