You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mc...@apache.org on 2009/07/10 21:14:06 UTC

svn commit: r793079 - in /myfaces/core/trunk/api/src/main/java/javax/faces: component/behavior/ClientBehaviorContext.java render/ClientBehaviorRenderer.java

Author: mconcini
Date: Fri Jul 10 19:14:06 2009
New Revision: 793079

URL: http://svn.apache.org/viewvc?rev=793079&view=rev
Log:
MYFACES-2273

Modified:
    myfaces/core/trunk/api/src/main/java/javax/faces/component/behavior/ClientBehaviorContext.java
    myfaces/core/trunk/api/src/main/java/javax/faces/render/ClientBehaviorRenderer.java

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/behavior/ClientBehaviorContext.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/behavior/ClientBehaviorContext.java?rev=793079&r1=793078&r2=793079&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/behavior/ClientBehaviorContext.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/behavior/ClientBehaviorContext.java Fri Jul 10 19:14:06 2009
@@ -31,12 +31,25 @@
  */
 public abstract class ClientBehaviorContext
 {
+
     public static ClientBehaviorContext createClientBehaviorContext(FacesContext context, UIComponent component, String eventName,
                                                         String sourceId, Collection<Parameter> parameters)
     {
-        // TODO: IMPLEMENT HERE
         // This method is weird... Creating a dummy impl class seems stupid, yet I don't see any other way...
-        return null;
+        if(context == null)
+        {
+            throw new NullPointerException("context argument must not be null");
+        }
+        if(component == null)
+        {
+            throw new NullPointerException("component argument must not be null");
+        }
+        if(eventName == null)
+        {
+            throw new NullPointerException("eventName argument must not be null");
+        }
+
+        return new ClientBehaviorContextImpl(context,component,eventName,sourceId, parameters);
     }
 
     public abstract UIComponent getComponent();
@@ -81,4 +94,53 @@
             return _value;
         }
     }
+    
+    private static final class ClientBehaviorContextImpl extends ClientBehaviorContext
+    {
+        private FacesContext _facesContext;
+        private UIComponent _component;
+        private String _eventName;
+        private String _sourceId;
+        private Collection<ClientBehaviorContext.Parameter> _parameters;
+        
+        public ClientBehaviorContextImpl(FacesContext context, UIComponent component, String eventName,
+                String sourceId, Collection<ClientBehaviorContext.Parameter> parameters)
+        {
+            _facesContext = context;
+            _component = component;
+            _eventName = eventName;
+            _sourceId = sourceId;
+            _parameters = parameters;            
+        }
+
+        @Override
+        public UIComponent getComponent()
+        {
+            return _component;
+        }
+
+        @Override
+        public String getEventName()
+        {
+            return _eventName;
+        }
+
+        @Override
+        public FacesContext getFacesContext()
+        {
+            return _facesContext;
+        }
+
+        @Override
+        public Collection<Parameter> getParameters()
+        {
+            return _parameters;
+        }
+
+        @Override
+        public String getSourceId()
+        {
+            return _sourceId;
+        }
+    }
 }

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/render/ClientBehaviorRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/render/ClientBehaviorRenderer.java?rev=793079&r1=793078&r2=793079&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/render/ClientBehaviorRenderer.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/render/ClientBehaviorRenderer.java Fri Jul 10 19:14:06 2009
@@ -33,12 +33,25 @@
 {
     public void decode(FacesContext context, UIComponent component, ClientBehavior behavior)
     {
-        // TODO: IMPLEMENT HERE
+        //default impl won't do anything...implementing classes will do the actual decoding.  
+        //just check for null args
+        if(context == null)
+        {
+            throw new NullPointerException("context argument must not be null");
+        }
+        if(component == null)
+        {
+            throw new NullPointerException("component argument must not be null");
+        }
+        if(behavior == null)
+        {
+            throw new NullPointerException("behavior argument must not be null");
+        }
     }
 
     public String getScript(ClientBehaviorContext behaviorContext, ClientBehavior behavior)
     {
-        // TODO: IMPLEMENT HERE
+        // default implementation returns null per the javadoc
         return null;
     }
 }