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 executor configured with the constructor will be asked to execute the
24 * requested method on the bean. The search will end if the executor returns "true".
25 */
26 public class CompositeViewControllerExecutor implements ViewControllerExecutor
27 {
28 private final ViewControllerExecutor[] viewControllerExecutors;
29
30 public CompositeViewControllerExecutor(ViewControllerExecutor[] viewControllerExecutors)
31 {
32 this.viewControllerExecutors = new ViewControllerExecutor[viewControllerExecutors.length];
33 System.arraycopy(viewControllerExecutors, 0, this.viewControllerExecutors, 0, viewControllerExecutors.length);
34 }
35
36
37 public boolean invokeInitView(String beanName, Object bean)
38 {
39 for (int i = 0; i< viewControllerExecutors.length; i++)
40 {
41 if (viewControllerExecutors[i].invokeInitView(beanName, bean))
42 {
43 return true;
44 }
45 }
46
47 return false;
48 }
49
50 public boolean invokePreRenderView(String beanName, Object bean)
51 {
52 for (int i = 0; i< viewControllerExecutors.length; i++)
53 {
54 if (viewControllerExecutors[i].invokePreRenderView(beanName, bean))
55 {
56 return true;
57 }
58 }
59
60 return false;
61 }
62
63 public boolean invokePreProcess(String beanName, Object bean)
64 {
65 for (int i = 0; i< viewControllerExecutors.length; i++)
66 {
67 if (viewControllerExecutors[i].invokePreProcess(beanName, bean))
68 {
69 return true;
70 }
71 }
72
73 return false;
74 }
75 }