001    package com.sptci.rwt;
002    
003    import java.io.Serializable;
004    
005    import java.util.ArrayList;
006    import java.util.Collections;
007    import java.util.List;
008    
009    /**
010     * A simple value object that represents a row in a {@link
011     * java.sql.ResultSet}.
012     *
013     * <p>&copy; Copyright 2007 <a href='http://sptci.com/' target='_new'>Sans Pareil Technologies, Inc.</a></p>
014     * @author Rakesh Vidyadharan 2007-10-02
015     * @version $Id: Row.java 4123 2008-05-25 21:49:01Z rakesh $
016     */
017    public class Row implements Serializable
018    {
019      /** The collection of {@link Column} instances contained in this row. */
020      private List<Column> columns = new ArrayList<Column>();
021      
022      /**
023       * Returns {@link #columns}.
024       *
025       * @return The value/reference of/to columns.
026       */
027      public List<Column> getColumns()
028      {
029        return Collections.unmodifiableList( columns );
030      }
031      
032      /**
033       * Set {@link #columns}.
034       *
035       * @param columns The value to set.
036       */
037      protected void setColumns( final List<Column> columns )
038      {
039        this.columns.clear();
040        this.columns.addAll( columns );
041      }
042    
043      /**
044       * Add the specified column to {@link #columns} collection.
045       *
046       * @param column The column to be added.
047       */
048      protected void addColumn( final Column column )
049      {
050        columns.add( column );
051      }
052    }