Ok, lets pull out the currency shit into it owns files where it belongs.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@1287 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// $Id: CurrencyUtil.java,v 1.1 2003/11/05 00:07:53 eric Exp $
|
||||
//
|
||||
// samskivert library - useful routines for java programs
|
||||
// Copyright (C) 2001 Michael Bayne
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it
|
||||
// under the terms of the GNU Lesser General Public License as published
|
||||
// by the Free Software Foundation; either version 2.1 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
package com.samskivert.util;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Currency related utility functions.
|
||||
*/
|
||||
public class CurrencyUtil
|
||||
{
|
||||
/**
|
||||
* Converts a number representing pennies to a currency display string
|
||||
* using the supplied local.
|
||||
*/
|
||||
public static String currencyPennies (double value, Locale locale)
|
||||
{
|
||||
return currency(value / 100.0, locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing dollars to a currency display string
|
||||
* using the supplied locale.
|
||||
*/
|
||||
public static String currency (double value, Locale locale)
|
||||
{
|
||||
NumberFormat numberFormatter =
|
||||
NumberFormat.getCurrencyInstance(locale);
|
||||
|
||||
return currency(value, numberFormatter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing pennies to a currency display string
|
||||
* using the default local.
|
||||
*/
|
||||
public static String currencyPennies (double value)
|
||||
{
|
||||
return currency(value / 100.0, _defaultFormatter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing dollars to a currency display string
|
||||
* using the default locale.
|
||||
*/
|
||||
public static String currency (double value)
|
||||
{
|
||||
return currency(value, _defaultFormatter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing dollars to a currency display
|
||||
* string using the supplied number format.
|
||||
*/
|
||||
protected static String currency (double value, NumberFormat nformat)
|
||||
{
|
||||
return nformat.format(value);
|
||||
}
|
||||
|
||||
/** A number format for the default local. */
|
||||
protected static NumberFormat _defaultFormatter =
|
||||
NumberFormat.getCurrencyInstance();
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: StringUtil.java,v 1.61 2003/10/29 19:42:40 ray Exp $
|
||||
// $Id: StringUtil.java,v 1.62 2003/11/05 00:07:53 eric Exp $
|
||||
//
|
||||
// samskivert library - useful routines for java programs
|
||||
// Copyright (C) 2001 Michael Bayne
|
||||
@@ -194,22 +194,6 @@ public class StringUtil
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing dollars to a currency display string.
|
||||
*/
|
||||
public static String currency (double value)
|
||||
{
|
||||
return _curFormatter.format(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing pennies to a currency display string.
|
||||
*/
|
||||
public static String currencyPennies (double value)
|
||||
{
|
||||
return currency(value / 100.0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats a floating point value with useful default rules;
|
||||
* ie. always display a digit to the left of the decimal and display
|
||||
@@ -1151,8 +1135,4 @@ public class StringUtil
|
||||
_ffmt.setMinimumFractionDigits(1);
|
||||
_ffmt.setMaximumFractionDigits(2);
|
||||
}
|
||||
|
||||
/** Used to easily format numbers as currency. Bling Bling. */
|
||||
protected static NumberFormat _curFormatter =
|
||||
NumberFormat.getCurrencyInstance();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// $Id: CurrencyTool.java,v 1.1 2003/11/05 00:07:53 eric Exp $
|
||||
//
|
||||
// samskivert library - useful routines for java programs
|
||||
// Copyright (C) 2001 Michael Bayne
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it
|
||||
// under the terms of the GNU Lesser General Public License as published
|
||||
// by the Free Software Foundation; either version 2.1 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
package com.samskivert.velocity;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.samskivert.util.CurrencyUtil;
|
||||
|
||||
/**
|
||||
* Provides handy currency functions for use in velocity.
|
||||
*/
|
||||
public class CurrencyTool
|
||||
{
|
||||
/**
|
||||
* Creates a new CurrencyTool which will used the supplied request to
|
||||
* look up the locale with which to do currency formatting in.
|
||||
*/
|
||||
public CurrencyTool (HttpServletRequest req)
|
||||
{
|
||||
_req = req;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing dollars to a currency display string.
|
||||
*/
|
||||
public String currency (double value)
|
||||
{
|
||||
return CurrencyUtil.currency(value, _req.getLocale());
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing pennies to a currency display string.
|
||||
*/
|
||||
public String currencyPennies (double value)
|
||||
{
|
||||
return CurrencyUtil.currencyPennies(value, _req.getLocale());
|
||||
}
|
||||
|
||||
/**
|
||||
* Velocity currently doesn't support floats, so we have to provide
|
||||
* our own support to convert pennies to a dollar amount.
|
||||
*/
|
||||
public String penniesToDollars (int pennies)
|
||||
{
|
||||
return "" + (pennies / 100.0);
|
||||
}
|
||||
|
||||
/** The servlet request we are providing currency functionality for. */
|
||||
protected HttpServletRequest _req;
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: DispatcherServlet.java,v 1.21 2003/09/25 18:06:29 eric Exp $
|
||||
// $Id: DispatcherServlet.java,v 1.22 2003/11/05 00:07:53 eric Exp $
|
||||
//
|
||||
// samskivert library - useful routines for java programs
|
||||
// Copyright (C) 2001 Michael Bayne
|
||||
@@ -292,6 +292,10 @@ public class DispatcherServlet extends VelocityServlet
|
||||
DataTool datatool = new DataTool();
|
||||
ictx.put(DATATOOL_KEY, datatool);
|
||||
|
||||
// create a curreny tool set up to use the correct locale
|
||||
CurrencyTool ctool = new CurrencyTool(req);
|
||||
ictx.put(CURRENCYTOOL_KEY, ctool);
|
||||
|
||||
// resolve the appropriate logic class for this URI and
|
||||
// execute it if it exists
|
||||
String path = req.getServletPath();
|
||||
@@ -451,6 +455,9 @@ public class DispatcherServlet extends VelocityServlet
|
||||
/** The key used to store the data tool in the context. */
|
||||
protected static final String DATATOOL_KEY = "data";
|
||||
|
||||
/** The key used to store the currency tool in the context. */
|
||||
protected static final String CURRENCYTOOL_KEY = "cash";
|
||||
|
||||
/** The servlet parameter key specifying the application class. */
|
||||
protected static final String APP_CLASS_KEY = "app_class";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: StringTool.java,v 1.12 2003/10/23 16:09:34 eric Exp $
|
||||
// $Id: StringTool.java,v 1.13 2003/11/05 00:07:53 eric Exp $
|
||||
//
|
||||
// samskivert library - useful routines for java programs
|
||||
// Copyright (C) 2001 Michael Bayne
|
||||
@@ -53,23 +53,6 @@ public class StringTool
|
||||
{
|
||||
return String.valueOf(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing dollars to a currency display string.
|
||||
*/
|
||||
public static String currency (double value)
|
||||
{
|
||||
return StringUtil.currency(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a number representing pennies to a currency display string.
|
||||
*/
|
||||
public static String currencyPennies (double value)
|
||||
{
|
||||
return StringUtil.currencyPennies(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds <p> tags between each pair of consecutive newlines.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user