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
{