1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.application.viewstate;
20
21 import javax.faces.FacesWrapper;
22 import javax.faces.render.ResponseStateManager;
23 import org.apache.myfaces.renderkit.MyfacesResponseStateManager;
24
25 public class StateCacheUtils
26 {
27 public static boolean isMyFacesResponseStateManager(ResponseStateManager rsm)
28 {
29 if (rsm instanceof MyfacesResponseStateManager)
30 {
31 return true;
32 }
33 else
34 {
35 ResponseStateManager rsm1 = rsm;
36 while (rsm1 != null)
37 {
38 if (rsm1 instanceof MyfacesResponseStateManager)
39 {
40 return true;
41 }
42 if (rsm1 instanceof FacesWrapper)
43 {
44 rsm1 = ((FacesWrapper<? extends ResponseStateManager>) rsm1).getWrapped();
45 }
46 else
47 {
48 rsm1 = null;
49 }
50 }
51 return false;
52 }
53 }
54
55 public static MyfacesResponseStateManager getMyFacesResponseStateManager(ResponseStateManager rsm)
56 {
57 if (rsm instanceof MyfacesResponseStateManager)
58 {
59 return (MyfacesResponseStateManager) rsm;
60 }
61 else
62 {
63 ResponseStateManager rsm1 = rsm;
64 while (rsm1 != null)
65 {
66 if (rsm1 instanceof MyfacesResponseStateManager)
67 {
68 return (MyfacesResponseStateManager) rsm1;
69 }
70 if (rsm1 instanceof FacesWrapper)
71 {
72 rsm1 = ((FacesWrapper<? extends ResponseStateManager>) rsm1).getWrapped();
73 }
74 else
75 {
76 rsm1 = null;
77 }
78 }
79 return null;
80 }
81 }
82 }