KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jxl > write > biff > StringRecord


1 /*********************************************************************
2 *
3 * Copyright (C) 2002 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.biff;
21
22 import jxl.biff.Type;
23 import jxl.biff.IntegerHelper;
24 import jxl.biff.StringHelper;
25 import jxl.biff.WritableRecordData;
26
27 /**
28  * Stores the string result of a formula calculation. This record
29  * occurs immediately after the formula
30  */

31 class StringRecord extends WritableRecordData
32 {
33   /**
34    * The string value
35    */

36   private String JavaDoc value;
37
38   /**
39    * Constructor
40    */

41   public StringRecord(String JavaDoc val)
42   {
43     super(Type.STRING);
44
45     value = val;
46   }
47
48   /**
49    * The binary data to be written out
50    *
51    * @return the binary data
52    */

53   public byte[] getData()
54   {
55     byte[] data = new byte[value.length() * 2 + 3];
56     IntegerHelper.getTwoBytes(value.length(), data, 0);
57     data[2] = 0x01; // unicode
58
StringHelper.getUnicodeBytes(value, data, 3);
59
60     return data;
61   }
62 }
63
Popular Tags