Source for org.jfree.formula.function.AbstractFunctionDescription

   1: /**
   2:  * =========================================
   3:  * LibFormula : a free Java formula library
   4:  * =========================================
   5:  *
   6:  * Project Info:  http://reporting.pentaho.org/libformula/
   7:  *
   8:  * (C) Copyright 2006-2007, by Pentaho Corporation and Contributors.
   9:  *
  10:  * This library is free software; you can redistribute it and/or modify it under the terms
  11:  * of the GNU Lesser General Public License as published by the Free Software Foundation;
  12:  * either version 2.1 of the License, or (at your option) any later version.
  13:  *
  14:  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
  15:  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  16:  * See the GNU Lesser General Public License for more details.
  17:  *
  18:  * You should have received a copy of the GNU Lesser General Public License along with this
  19:  * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  20:  * Boston, MA 02111-1307, USA.
  21:  *
  22:  * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
  23:  * in the United States and other countries.]
  24:  *
  25:  *
  26:  * ------------
  27:  * $Id: AbstractFunctionDescription.java,v 1.4 2007/04/01 13:51:52 taqua Exp $
  28:  * ------------
  29:  * (C) Copyright 2006-2007, by Pentaho Corporation.
  30:  */
  31: package org.jfree.formula.function;
  32: 
  33: import java.util.Locale;
  34: import java.util.ResourceBundle;
  35: 
  36: /**
  37:  * Creation-Date: 04.11.2006, 18:30:33
  38:  *
  39:  * @author Thomas Morgner
  40:  */
  41: public abstract class AbstractFunctionDescription implements FunctionDescription
  42: {
  43:   private String bundleName;
  44: 
  45:   protected AbstractFunctionDescription(final String bundleName)
  46:   {
  47:     this.bundleName = bundleName;
  48:   }
  49: 
  50:   public boolean isVolatile()
  51:   {
  52:     return false;
  53:   }
  54: 
  55:   /**
  56:    * Returns the default value for an optional parameter. If the value returned
  57:    * here is null, then this either means, that the parameter is mandatory or
  58:    * that the default value is computed by the expression itself.
  59:    *
  60:    * @param position
  61:    * @return null.
  62:    */
  63:   public Object getDefaultValue(int position)
  64:   {
  65:     return null;
  66:   }
  67: 
  68:   public boolean isInfiniteParameterCount()
  69:   {
  70:     return false;
  71:   }
  72: 
  73:   protected ResourceBundle getBundle(Locale locale)
  74:   {
  75:     return ResourceBundle.getBundle(bundleName, locale);
  76:   }
  77: 
  78:   public String getDisplayName(Locale locale)
  79:   {
  80:     return getBundle(locale).getString("display-name");
  81:   }
  82: 
  83:   public String getDescription(Locale locale)
  84:   {
  85:     return getBundle(locale).getString("description");
  86:   }
  87: 
  88:   public String getParameterDisplayName(int position, Locale locale)
  89:   {
  90:     return getBundle(locale).getString("parameter." + position + ".display-name");
  91:   }
  92: 
  93:   public String getParameterDescription(int position, Locale locale)
  94:   {
  95:     return getBundle(locale).getString("parameter." + position + ".description");
  96:   }
  97: 
  98: 
  99: }