Clover coverage report - angkor - 0.4
Coverage timestamp: ti okt 15 2002 22:32:48 CEST
file stats: LOC: 114   Methods: 11
NCLOC: 83   Classes: 1
Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover.
 
 Source file Conditionals Statements Methods TOTAL
BasicBeanTableModel.java 0% 0% 0% 0%
 1   
 /*
 2   
  * Angkor Web Framework
 3   
  *
 4   
  * Distributable under LGPL license.
 5   
  * See terms of license at gnu.org.
 6   
  */
 7   
 
 8   
 package com.tirsen.angkor.beans;
 9   
 
 10   
 import java.util.ArrayList;
 11   
 import java.util.Arrays;
 12   
 import java.util.Collection;
 13   
 import java.util.Iterator;
 14   
 import java.util.List;
 15   
 
 16   
 /**
 17   
  * <!-- $Id: BasicBeanTableModel.java,v 1.2 2002/10/09 21:37:37 tirsen Exp $ -->
 18   
  * <!-- $Author: tirsen $ -->
 19   
  *
 20   
  * @author Jon Tirs&acute;n (tirsen@users.sourceforge.net)
 21   
  * @version $Revision: 1.2 $
 22   
  */
 23   
 public class BasicBeanTableModel extends BeanTableModel
 24   
 {
 25   
     private List rows;
 26   
 
 27  0
     public BasicBeanTableModel()
 28   
     {
 29   
     }
 30   
 
 31  0
     public BasicBeanTableModel(Class rowClass)
 32   
     {
 33  0
         super(rowClass);
 34   
     }
 35   
 
 36  0
     protected List getRows()
 37   
     {
 38  0
         if (rows == null) throw new IllegalStateException("Tried to access model before initializing rows.");
 39  0
         return rows;
 40   
     }
 41   
 
 42  0
     public int getRowCount()
 43   
     {
 44  0
         int rowCount = super.getRowCount();
 45  0
         if (rowCount == -1)
 46   
         {
 47  0
             if (rows == null)
 48  0
                 rowCount = 0;
 49   
             else
 50  0
                 rowCount = getRows().size();
 51   
         }
 52  0
         return rowCount;
 53   
     }
 54   
 
 55  0
     public void setRow(int row, Object object)
 56   
     {
 57  0
         ensureCapable(row);
 58  0
         rows.set(row, object);
 59   
     }
 60   
 
 61   
     /**
 62   
      * Sets a segment of rows starting at specified startRow.
 63   
      */
 64  0
     public void setRows(int startRow, Collection objects)
 65   
     {
 66  0
         ensureCapable(startRow + objects.size());
 67  0
         int row = startRow;
 68  0
         for (Iterator iterator = objects.iterator(); iterator.hasNext();)
 69   
         {
 70  0
             Object o = (Object) iterator.next();
 71  0
             rows.set(row++, o);
 72   
         }
 73   
     }
 74   
 
 75  0
     private void ensureCapable(int row)
 76   
     {
 77  0
         if (rows == null) rows = new ArrayList(row);
 78  0
         int size = rows.size();
 79  0
         for (int i = size - row; i < size + 1; i++)
 80   
         {
 81  0
             rows.add(null);
 82   
         }
 83   
     }
 84   
 
 85  0
     public void setRows(Object[] rows)
 86   
     {
 87  0
         if (rows != null)
 88  0
             this.rows = Arrays.asList(rows);
 89   
         else
 90  0
             this.rows = null;
 91   
     }
 92   
 
 93  0
     public void setRows(List rows)
 94   
     {
 95  0
         this.rows = new ArrayList(rows);
 96   
     }
 97   
 
 98  0
     public void setRows(Iterator iterator)
 99   
     {
 100  0
         rows = new ArrayList();
 101  0
         while (iterator.hasNext())
 102   
         {
 103  0
             Object o = (Object) iterator.next();
 104  0
             rows.add(o);
 105   
         }
 106   
     }
 107   
 
 108  0
     public void empty()
 109   
     {
 110  0
         super.empty();
 111  0
         rows = null;
 112   
     }
 113   
 }
 114