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/04/30 20:30:51 UTC

svn commit: r770384 - in /myfaces/core/branches/2_0_0: api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java api/src/main/java/javax/faces/render/RenderKit.java impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java

Author: mconcini
Date: Thu Apr 30 18:30:51 2009
New Revision: 770384

URL: http://svn.apache.org/viewvc?rev=770384&view=rev
Log:
MYFACES-2215 - RenderKit TODOs for JSF 2.0

Modified:
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java
    myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/RenderKit.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java

Modified: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java?rev=770384&r1=770383&r2=770384&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java (original)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java Thu Apr 30 18:30:51 2009
@@ -116,7 +116,7 @@
         String rendererType = getRendererType();
         if (rendererType != null)
         {
-            return context.getRenderKit().getBehaviorRenderer(rendererType);
+            return context.getRenderKit().getClientBehaviorRenderer(rendererType);
         }
         
         return null;

Modified: myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/RenderKit.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/RenderKit.java?rev=770384&r1=770383&r2=770384&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/RenderKit.java (original)
+++ myfaces/core/branches/2_0_0/api/src/main/java/javax/faces/render/RenderKit.java Thu Apr 30 18:30:51 2009
@@ -35,9 +35,8 @@
  */
 public abstract class RenderKit
 {
-    public void addBehaviorRenderer(String type, ClientBehaviorRenderer renderer)
+    public void addClientBehaviorRenderer(String type, ClientBehaviorRenderer renderer)
     {
-        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
 
@@ -47,15 +46,13 @@
 
     public abstract ResponseWriter createResponseWriter(Writer writer, String contentTypeList, String characterEncoding);
     
-    public ClientBehaviorRenderer getBehaviorRenderer(String type)
+    public ClientBehaviorRenderer getClientBehaviorRenderer(String type)
     {
-        // TODO: IMPLEMENT IMPL
         throw new UnsupportedOperationException();
     }
     
-    public Iterator<String> getBehaviorRendererTypes()
+    public Iterator<String> getClientBehaviorRendererTypes()
     {
-        // TODO: IMPLEMENT IMPL
         List<String> emptyList = Collections.emptyList();
 
         return emptyList.iterator();
@@ -77,7 +74,6 @@
      */
     public Iterator<String> getComponentFamilies()
     {
-        // TODO: IMPLEMENT IMPL
         List<String> emptyList = Collections.emptyList();
 
         return emptyList.iterator();
@@ -108,7 +104,6 @@
      */
     public Iterator<String> getRendererTypes(String componentFamily)
     {
-        // TODO: IMPLEMENT IMPL
         List<String> emptyList = Collections.emptyList();
 
         return emptyList.iterator();

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java?rev=770384&r1=770383&r2=770384&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java Thu Apr 30 18:30:51 2009
@@ -21,14 +21,17 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Writer;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 import javax.faces.context.ResponseStream;
 import javax.faces.context.ResponseWriter;
+import javax.faces.render.ClientBehaviorRenderer;
 import javax.faces.render.RenderKit;
 import javax.faces.render.Renderer;
 import javax.faces.render.ResponseStateManager;
@@ -53,6 +56,7 @@
     private Map<String, Renderer> _renderers;
     private ResponseStateManager _responseStateManager;
     private Map<String,Set<String>> _families;
+    private Map<String, ClientBehaviorRenderer> _clientBehaviorRenderers;
 
     // ~ Constructors -------------------------------------------------------------------------------
 
@@ -61,6 +65,7 @@
         _renderers = new HashMap<String, Renderer>();
         _responseStateManager = new HtmlResponseStateManager();
         _families = new HashMap<String, Set<String> >();
+        _clientBehaviorRenderers = new HashMap<String, ClientBehaviorRenderer>();
     }
 
     // ~ Methods ------------------------------------------------------------------------------------
@@ -71,6 +76,38 @@
     }
 
     @Override
+    public void addClientBehaviorRenderer(String type, ClientBehaviorRenderer renderer)
+    {
+        if (type == null)
+        {
+            throw new NullPointerException("client behavior renderer type must not be null");
+        }
+        if ( renderer == null)
+        {
+            throw new NullPointerException("client behavior renderer must not be null");
+        }
+        
+        _clientBehaviorRenderers.put(type, renderer);
+    }
+    
+    @Override
+    public ClientBehaviorRenderer getClientBehaviorRenderer(String type)
+    {
+        if (type == null)
+        {
+            throw new NullPointerException("client behavior renderer type must not be null");
+        }
+        
+        return _clientBehaviorRenderers.get(type);
+    }
+    
+    @Override
+    public Iterator<String> getClientBehaviorRendererTypes()
+    {
+        return _clientBehaviorRenderers.keySet().iterator();
+    }
+    
+    @Override
     public Renderer getRenderer(String componentFamily, String rendererType)
     {
         if (componentFamily == null)
@@ -157,7 +194,17 @@
     @Override
     public Iterator<String> getRendererTypes(String componentFamily)
     {
-        return _families.get(componentFamily).iterator();
+        //Return an Iterator over the renderer-type entries for the given component-family.
+        Set<String> rendererTypes = _families.get(componentFamily);
+        if(rendererTypes != null)
+        {
+            return rendererTypes.iterator();
+        }
+        //If the specified componentFamily is not known to this RenderKit implementation, return an empty Iterator
+        return Collections.<String>emptySet().iterator();
+        
+
+
     }
 
     @Override
@@ -178,6 +225,14 @@
     {
         return new MyFacesResponseStream(outputStream);
     }
+    
+    private void checkNull(Object value, String valueLabel)
+    {
+        if (value == null)
+        {
+            throw new NullPointerException(valueLabel + " is null");
+        }
+    }
 
     private static class MyFacesResponseStream extends ResponseStream
     {