Author: abelevich
Date: 2010-06-09 05:44:35 -0400 (Wed, 09 Jun 2010)
New Revision: 17579
Modified:
root/ui/core/branches/richfaces-ui-core-4.0.0.Alpha2/ui/src/main/java/org/ajax4jsf/component/behavior/MethodExpressionAjaxBehaviorListener.java
Log:
https://jira.jboss.org/browse/RF-8733
Modified:
root/ui/core/branches/richfaces-ui-core-4.0.0.Alpha2/ui/src/main/java/org/ajax4jsf/component/behavior/MethodExpressionAjaxBehaviorListener.java
===================================================================
---
root/ui/core/branches/richfaces-ui-core-4.0.0.Alpha2/ui/src/main/java/org/ajax4jsf/component/behavior/MethodExpressionAjaxBehaviorListener.java 2010-06-09
06:53:24 UTC (rev 17578)
+++
root/ui/core/branches/richfaces-ui-core-4.0.0.Alpha2/ui/src/main/java/org/ajax4jsf/component/behavior/MethodExpressionAjaxBehaviorListener.java 2010-06-09
09:44:35 UTC (rev 17579)
@@ -26,6 +26,7 @@
import javax.el.ELException;
import javax.el.MethodExpression;
import javax.el.MethodNotFoundException;
+import javax.faces.component.StateHolder;
import javax.faces.context.FacesContext;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.AjaxBehaviorEvent;
@@ -35,13 +36,15 @@
* @author Anton Belevich
*
*/
-public class MethodExpressionAjaxBehaviorListener implements AjaxBehaviorListener {
+public class MethodExpressionAjaxBehaviorListener implements AjaxBehaviorListener,
StateHolder {
private static final Class<?>[] ACTION_LISTENER_ZEROARG_SIG = new Class[] {};
private MethodExpression methodExpressionOneArg = null;
private MethodExpression methodExpressionZeroArg = null;
+
+ private boolean isTransient;
public MethodExpressionAjaxBehaviorListener() {
}
@@ -96,4 +99,30 @@
}
}
+ public boolean isTransient() {
+ return isTransient;
+ }
+
+ public void setTransient(boolean newTransientValue) {
+ isTransient = newTransientValue;
+ }
+
+ public void restoreState(FacesContext context, Object state) {
+ if (context == null) {
+ throw new NullPointerException();
+ }
+ if (state == null) {
+ return;
+ }
+ methodExpressionOneArg = (MethodExpression) ((Object[]) state)[0];
+ methodExpressionZeroArg = (MethodExpression) ((Object[]) state)[1];
+ }
+
+ public Object saveState(FacesContext context) {
+ if (context == null) {
+ throw new NullPointerException();
+ }
+ return new Object[] { methodExpressionOneArg, methodExpressionZeroArg };
+ }
+
}