Home » struts-2.1.8.1-src » org.apache » struts2 » components » table » renderer » [javadoc | source]

    1   /*
    2    * $Id: AbstractCellRenderer.java 471756 2006-11-06 15:01:43Z husted $
    3    *
    4    * Licensed to the Apache Software Foundation (ASF) under one
    5    * or more contributor license agreements.  See the NOTICE file
    6    * distributed with this work for additional information
    7    * regarding copyright ownership.  The ASF licenses this file
    8    * to you under the Apache License, Version 2.0 (the
    9    * "License"); you may not use this file except in compliance
   10    * with the License.  You may obtain a copy of the License at
   11    *
   12    *  http://www.apache.org/licenses/LICENSE-2.0
   13    *
   14    * Unless required by applicable law or agreed to in writing,
   15    * software distributed under the License is distributed on an
   16    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   17    * KIND, either express or implied.  See the License for the
   18    * specific language governing permissions and limitations
   19    * under the License.
   20    */
   21   package org.apache.struts2.components.table.renderer;
   22   
   23   import org.apache.struts2.components.table.WebTable;
   24   
   25   
   26   /**
   27    * this is the base class that most renderers will be derived from.
   28    * It allows setting the alignment.  Subclasses should set there actuall
   29    * content by implementing getCellValue
   30    */
   31   abstract public class AbstractCellRenderer implements CellRenderer {
   32   
   33       /**
   34        * used for horizontal cell alignmnet
   35        */
   36       protected String _alignment = null;
   37   
   38   
   39       public void setAlignment(String alignment) {
   40           _alignment = alignment;
   41       }
   42   
   43       public String getAlignment() {
   44           return _alignment;
   45       }
   46   
   47       /**
   48        * implememnts CellRenderer renderCell.  It sets the alignment.  gets the actual
   49        * data from getCellValue
   50        */
   51       public String renderCell(WebTable table, Object data, int row, int col) {
   52           if (isAligned()) {
   53               StringBuffer buf = new StringBuffer(256);
   54               buf.append("<div align='").append(_alignment).append("'>");
   55               buf.append(getCellValue(table, data, row, col));
   56               buf.append("</div>");
   57   
   58               return buf.toString();
   59           }
   60   
   61           return getCellValue(table, data, row, col);
   62       }
   63   
   64       protected boolean isAligned() {
   65           return _alignment != null;
   66       }
   67   
   68       /**
   69        * this is the method that subclasses need to implement to set their value.
   70        * they should not override renderCell unless they want to change the alignmnent
   71        * renderering
   72        */
   73       abstract protected String getCellValue(WebTable table, Object data, int row, int col);
   74   }

Home » struts-2.1.8.1-src » org.apache » struts2 » components » table » renderer » [javadoc | source]