Save This Page
Home » jexcelapi_2_6_8 » jxl.write » [javadoc | source]
    1   /*********************************************************************
    2   *
    3   *      Copyright (C) 2001 Andrew Khan
    4   *
    5   * This library is free software; you can redistribute it and/or
    6   * modify it under the terms of the GNU Lesser General Public
    7   * License as published by the Free Software Foundation; either
    8   * version 2.1 of the License, or (at your option) any later version.
    9   *
   10   * This library is distributed in the hope that it will be useful,
   11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   13   * Lesser General Public License for more details.
   14   *
   15   * You should have received a copy of the GNU Lesser General Public
   16   * License along with this library; if not, write to the Free Software
   17   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
   18   ***************************************************************************/
   19   
   20   package jxl.write;
   21   
   22   import java.util.Date;
   23   
   24   import jxl.DateCell;
   25   import jxl.format.CellFormat;
   26   import jxl.write.biff.DateRecord;
   27   
   28   /**
   29    * A Date which may be created on the fly by a user application and added to a
   30    * spreadsheet
   31    *
   32    * NOTE:  By default, all dates will have local timezone information added to
   33    * their UTC value.  If this is not desired (eg. if the date entered
   34    * represents an interval eg. 9.83s for the 100m world record, then use
   35    * the overloaded constructor which indicate that the date passed in was
   36    * created under the GMT timezone.  It is important that when the date
   37    * was created, an instruction like
   38    * Calendar.setTimeZone(TimeZone.getTimeZone("GMT"))
   39    * was made prior to that
   40    */
   41   public class DateTime extends DateRecord implements WritableCell, DateCell
   42   {
   43     /**
   44      * Instance variable for dummy variable overload
   45      */
   46     public static final GMTDate GMT = new GMTDate();
   47   
   48     /**
   49      * Constructor
   50      *
   51      * @param c the column
   52      * @param r the row
   53      * @param d the date
   54      */
   55     public DateTime(int c, int r, Date d)
   56     {
   57       super(c, r, d);
   58     }
   59   
   60     /**
   61      * Constructor, which adjusts the specified date to take timezone
   62      * considerations into account
   63      *
   64      * @param c the column
   65      * @param r the row
   66      * @param d the date
   67      * @param a dummy overload
   68      */
   69     public DateTime(int c, int r, Date d, GMTDate a)
   70     {
   71       super(c, r, d, a);
   72     }
   73   
   74     /**
   75      * Constructor which takes the format for this cell
   76      *
   77      * @param c the column
   78      * @param r the row
   79      * @param st the format
   80      * @param d the date
   81      */
   82     public DateTime(int c, int r, Date d, CellFormat st)
   83     {
   84       super(c, r, d, st);
   85     }
   86   
   87     /**
   88      * Constructor, which adjusts the specified date to take timezone
   89      * considerations into account
   90      *
   91      * @param c the column
   92      * @param r the row
   93      * @param d the date
   94      * @param st the cell format
   95      * @param a the cummy overload
   96      */
   97     public DateTime(int c, int r, Date d, CellFormat st, GMTDate a)
   98     {
   99       super(c, r, d, st, a);
  100     }
  101   
  102     /**
  103      * Constructor which takes the format for the cell and an indicator
  104      * as to whether this cell is a full date time or purely just a time
  105      * eg. if the spreadsheet is to contain the world record for 100m, then the
  106      * value would be 9.83s, which would be indicated as just a time
  107      *
  108      * @param c the column
  109      * @param r the row
  110      * @param st the style
  111      * @param tim flag indicating that this represents a time
  112      * @param d the date
  113      */
  114     public DateTime(int c, int r, Date d, CellFormat st, boolean tim)
  115     {
  116       super(c, r, d, st, tim);
  117     }
  118   
  119     /**
  120      * A constructor called by the worksheet when creating a writable version
  121      * of a spreadsheet that has been read in
  122      *
  123      * @param dc the date to copy
  124      */
  125     public DateTime(DateCell dc)
  126     {
  127       super(dc);
  128     }
  129   
  130     /**
  131      * Copy constructor used for deep copying
  132      *
  133      * @param col the column
  134      * @param row the row
  135      * @param dt the date to copy
  136      */
  137     protected DateTime(int col, int row, DateTime dt)
  138     {
  139       super(col, row, dt);
  140     }
  141   
  142   
  143     /**
  144      * Sets the date for this cell
  145      *
  146      * @param d the date
  147      */
  148     public void setDate(Date d)
  149     {
  150       super.setDate(d);
  151     }
  152   
  153     /**
  154      * Sets the date for this cell, performing the necessary timezone adjustments
  155      *
  156      * @param d the date
  157      * @param a the dummy overload
  158      */
  159     public void setDate(Date d, GMTDate a)
  160     {
  161       super.setDate(d, a);
  162     }
  163   
  164     /**
  165      * Implementation of the deep copy function
  166      *
  167      * @param col the column which the new cell will occupy
  168      * @param row the row which the new cell will occupy
  169      * @return  a copy of this cell, which can then be added to the sheet
  170      */
  171     public WritableCell copyTo(int col, int row)
  172     {
  173       return new DateTime(col, row, this);
  174     }
  175   }
  176   
  177   

Save This Page
Home » jexcelapi_2_6_8 » jxl.write » [javadoc | source]