Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
$URL: https://source.sakaiproject.org/svn/jsf/tags/sakai-10.0/jsf-widgets/src/java/org/sakaiproject/jsf/renderer/DataLineRenderer.java $ $Id: DataLineRenderer.java 105077 2012-02-24 22:54:29Z ottenhoff@longsight.com $ Copyright (c) 2003, 2004, 2005, 2006, 2008 The Sakai Foundation Licensed under the Educational Community License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.opensource.org/licenses/ECL-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. /
 
 
 package org.sakaiproject.jsf.renderer;
 
 

Description:

Render a iterated data like a dataTable but without the table.

Based on example code by from the O'Reilley JSF book.

Copyright: Copyright (c) 2004

Organization: Sakai Project

Author(s):
Ed Smiley
Version:
$Id: DataLineRenderer.java 105077 2012-02-24 22:54:29Z ottenhoff@longsight.com $
 
 
 public class DataLineRenderer extends Renderer
 {

  
This component renders its children

Returns:
true
 
   public boolean getRendersChildren()
   {
     return true;
   }

  
This is an output type component.

Parameters:
component
Returns:
true if UIOutput
 
   public boolean supportsComponentType(UIComponent component)
   {
     return (component instanceof UIOutput);
   }

  
no-op

Parameters:
context
component
Throws:
java.io.IOException
 
   public void encodeBegin(FacesContext context,
     UIComponent componentthrows IOException
   {
     ;
   }

  
We put all our processing in the encodeChildren method

Parameters:
context
component
Throws:
java.io.IOException
 
   public void encodeChildren(FacesContext contextUIComponent component)
     throws IOException
   {
     if (!component.isRendered())
     {
       return;
     }
 
     String clientId = null;
 
     if (component.getId() != null &&
       !component.getId().startsWith(.))
     {
      clientId = component.getClientId(context);
    }
    ResponseWriter writer = context.getResponseWriter();
    if (clientId != null)
    {
      writer.startElement("span"component);
      writer.writeAttribute("id"clientId"id");
    }
    UIData data = (UIDatacomponent;
    int first = data.getFirst();
    int rows = data.getRows();
    // this is a special separator attribute, not supported by UIData
    String separator = (String) RendererUtil.getAttribute(contextcomponent"separator");
    if (separator==nullseparator=" | ";
    for (int i = firstn = 0; n < rowsi++, n++)
    {
      data.setRowIndex(i);
      if (!data.isRowAvailable())
      {
        break;
      }
      // between any two iterations add separator if there is one
      if (i!=firstwriter.write(separator);
      Iterator iter = data.getChildren().iterator();
      while (iter.hasNext())
      {
        UIComponent column = (UIComponentiter.next();
        if (!(column instanceof UIColumn))
        {
          continue;
        }
        RendererUtil.encodeRecursive(contextcolumn);
        }
      }
      if (clientId != null)
        {
        writer.endElement("span");
      }
    }

    
no-op

Parameters:
context
component
Throws:
java.io.IOException
  public void encodeEnd(FacesContext contextUIComponent component)
    throws IOException
  {
    ;
  }
New to GrepCode? Check out our FAQ X