Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2004-2005 Revolution Systems Inc.
   * 
   * Licensed under the Apache 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.apache.org/licenses/LICENSE-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 com.revolsys.ui.html.layout;
 
 import java.util.List;
 
 
 
 public class TableLayout implements ElementContainerLayout {
   private static final Logger log = Logger.getLogger(TableLayout.class);
 
   private String cssClass;
 
   private int numColumns;
 
   private List titles;
 
   private List cssClasses = new ArrayList();
 
   public TableLayout(final int numColumns) {
     this(nullnumColumns);
   }
 
   public TableLayout(final String cssClassfinal int numColumns) {
     this(cssClassnumColumnsnull);
   }
 
   public TableLayout(final String cssClassfinal int numColumns,
     final List titles) {
     this(cssClassnumColumnstitles.);
   }
 
   public TableLayout(final String cssClassfinal int numColumns,
     final List titlesfinal List cssClasses) {
     this. = cssClass;
     this. = numColumns;
     this. = titles;
     this..addAll(cssClasses);
     for (int i = cssClasses.size(); i < numColumnsi++) {
       this..add("");
     }
   }
 
   public void serialize(final XmlWriter outfinal ElementContainer container)
     {
     if (!container.getElements().isEmpty()) {
       out.startTag(.);
       if ( != null) {
         out.attribute(.);
       }
       out.startTag(.);
       out.attribute(."0");
       out.attribute(."0");
 
       serializeThead(out);
 
       serializeTbody(outcontainer);
       out.endTag(.);
       out.endTag(.);
     }
   }
 
   private void serializeTbody(final XmlWriter out,
     final ElementContainer container) {
     out.startTag(.);
     List elementList = container.getElements();
     int i = 0;
     int rowNum = 0;
     int numElements = elementList.size();
     int lastRow = (numElements - 1) / ;
     for (Iterator elements = elementList.iterator(); elements.hasNext();) {
       Element element = (Element)elements.next();
       int col = i % ;
       String colCss = (String).get(col);
       boolean firstCol = col == 0;
       boolean lastCol = (i + 1) %  == 0 || i == numElements - 1;
       if (firstCol) {
         out.startTag(.);
        String rowCss = "";
        if (rowNum == 0) {
          rowCss += " firstRow";
        }
        if (rowNum == lastRow) {
          rowCss += " lastRow";
        }
        if (rowCss.length() > 0) {
          out.attribute(.rowCss);
        }
        colCss += " firstCol";
      }
      if (lastCol) {
        colCss += " lastCol";
      }
      out.startTag(.);
      if (colCss.length() > 0) {
        out.attribute(.colCss);
      }
      element.serialize(out);
      out.endTag(.);
      i++;
      if (lastCol) {
        out.endTag(.);
        rowNum++;
      }
    }
    out.endTag(.);
  }
  private void serializeThead(final XmlWriter out) {
    if ( != null && !.isEmpty()) {
      out.startTag(.);
      out.startTag(.);
      int col = 0;
      for (Iterator titleIter = .iterator(); titleIter.hasNext();) {
        String title = (String)titleIter.next();
        out.startTag(.);
        String colCssClass = (String).get(col);
        if (col == 0) {
          colCssClass += " firstCol";
        }
        if (col == ) {
          colCssClass += " lastCol";
        }
        if (colCssClass.length() > 0) {
          out.attribute(.colCssClass);
        }
        out.text(title);
        out.endTag(.);
        col++;
      }
      out.endTag(.);
      out.endTag(.);
    }
  }
New to GrepCode? Check out our FAQ X