1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.view.facelets.tag.jsf;
20
21 import javax.el.MethodExpression;
22 import javax.faces.component.PartialStateHolder;
23 import javax.faces.context.FacesContext;
24 import javax.faces.event.MethodExpressionValueChangeListener;
25
26 public class PartialMethodExpressionValueChangeListener extends MethodExpressionValueChangeListener
27 implements PartialStateHolder
28 {
29 private boolean _initialStateMarked;
30
31
32 public PartialMethodExpressionValueChangeListener()
33 {
34 super();
35 }
36
37 public PartialMethodExpressionValueChangeListener(MethodExpression methodExpression1,
38 MethodExpression methodExpression2)
39 {
40 super(methodExpression1, methodExpression2);
41 }
42
43 public PartialMethodExpressionValueChangeListener(MethodExpression methodExpression)
44 {
45 super(methodExpression);
46 }
47
48 public void clearInitialState()
49 {
50 _initialStateMarked = false;
51 }
52
53 public boolean initialStateMarked()
54 {
55 return _initialStateMarked;
56 }
57
58 public void markInitialState()
59 {
60 _initialStateMarked = true;
61 }
62
63 public void restoreState(FacesContext context, Object state)
64 {
65 if (state == null)
66 {
67 return;
68 }
69 super.restoreState(context, state);
70 }
71
72 public Object saveState(FacesContext context)
73 {
74 if (initialStateMarked())
75 {
76 return null;
77 }
78 return super.saveState(context);
79 }
80 }