1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.event;
21
22 import org.apache.myfaces.tobago.compat.FacesUtilsEL;
23
24 import javax.el.ELContext;
25 import javax.el.MethodExpression;
26 import javax.faces.component.StateHolder;
27 import javax.faces.context.FacesContext;
28
29
30 public class MethodExpressionTreeExpansionListener implements TreeExpansionListener, StateHolder {
31
32 private MethodExpression methodExpression;
33
34 private boolean isTransient = false;
35
36 public MethodExpressionTreeExpansionListener() {
37 }
38
39 public MethodExpressionTreeExpansionListener(MethodExpression methodExpression) {
40 this.methodExpression = methodExpression;
41 }
42
43 public void treeExpanded(TreeExpansionEvent event) {
44 FacesUtilsEL.invokeMethodExpression(FacesContext.getCurrentInstance(), methodExpression, event);
45 }
46
47 private ELContext elContext() {
48 return FacesContext.getCurrentInstance().getELContext();
49 }
50
51 public void restoreState(FacesContext context, Object state) {
52 methodExpression = (MethodExpression) state;
53 }
54
55 public Object saveState(FacesContext context) {
56 return methodExpression;
57 }
58
59 public void setTransient(boolean newTransientValue) {
60 isTransient = newTransientValue;
61 }
62
63 public boolean isTransient() {
64 return isTransient;
65 }
66 }