KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jxl > biff > formula > StringFunction


1 /*********************************************************************
2 *
3 * Copyright (C) 2003 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.biff.formula;
21
22 import common.Logger;
23
24 import jxl.WorkbookSettings;
25
26 /**
27  * Class used to hold a function when reading it in from a string. At this
28  * stage it is unknown whether it is a BuiltInFunction or a VariableArgFunction
29  */

30 class StringFunction extends StringParseItem
31 {
32   /**
33    * The logger
34    */

35   private static Logger logger = Logger.getLogger(StringFunction.class);
36
37   /**
38    * The function
39    */

40   private Function function;
41
42   /**
43    * The function string
44    */

45   private String JavaDoc functionString;
46
47   /**
48    * Constructor
49    *
50    * @param s the lexically parsed stirng
51    */

52   StringFunction(String JavaDoc s)
53   {
54     functionString = s.substring(0, s.length() - 1);
55   }
56
57   /**
58    * Accessor for the function
59    *
60    * @param ws the workbook settings
61    * @return the function
62    */

63   Function getFunction(WorkbookSettings ws)
64   {
65     if (function == null)
66     {
67       function = Function.getFunction(functionString, ws);
68     }
69     return function;
70   }
71 }
72
Popular Tags