![JAR search and dependency download from the Maven repository](/logo.png)
net.admin4j.deps.commons.beanutils.locale.converters.DecimalLocaleConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of admin4j Show documentation
Show all versions of admin4j Show documentation
Admin4J is a set of application administration utilities that will assist with providing alerts for
thread contention, memory issues, performance issues. In addition, it provides a console for changing log levels at runtime.
The newest version!
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.admin4j.deps.commons.beanutils.locale.converters;
import net.admin4j.deps.commons.beanutils.locale.BaseLocaleConverter;
import net.admin4j.deps.commons.logging.Log;
import net.admin4j.deps.commons.logging.LogFactory;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.Locale;
/**
* Standard {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* implementation that converts an incoming
* locale-sensitive String into a java.lang.Decimal
object,
* optionally using a default value or throwing a
* {@link net.admin4j.deps.commons.beanutils.ConversionException}
* if a conversion error occurs.
*
* @author Yauheny Mikulski
* @author Yoav Shapira
* @since 1.7
*/
public class DecimalLocaleConverter extends BaseLocaleConverter {
// ----------------------------------------------------- Instance Variables
/** All logging goes through this logger */
private static Log log = LogFactory.getLog(DecimalLocaleConverter.class);
// ----------------------------------------------------------- Constructors
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will throw a {@link net.admin4j.deps.commons.beanutils.ConversionException}
* if a conversion error occurs. The locale is the default locale for
* this instance of the Java Virtual Machine and an unlocalized pattern is used
* for the convertion.
*
*/
public DecimalLocaleConverter() {
this(false);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will throw a {@link net.admin4j.deps.commons.beanutils.ConversionException}
* if a conversion error occurs. The locale is the default locale for
* this instance of the Java Virtual Machine.
*
* @param locPattern Indicate whether the pattern is localized or not
*/
public DecimalLocaleConverter(boolean locPattern) {
this(Locale.getDefault(), locPattern);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will throw a {@link net.admin4j.deps.commons.beanutils.ConversionException}
* if a conversion error occurs. An unlocalized pattern is used for the convertion.
*
* @param locale The locale
*/
public DecimalLocaleConverter(Locale locale) {
this(locale, false);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will throw a {@link net.admin4j.deps.commons.beanutils.ConversionException}
* if a conversion error occurs.
*
* @param locale The locale
* @param locPattern Indicate whether the pattern is localized or not
*/
public DecimalLocaleConverter(Locale locale, boolean locPattern) {
this(locale, (String) null, locPattern);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will throw a {@link net.admin4j.deps.commons.beanutils.ConversionException}
* if a conversion error occurs. An unlocalized pattern is used for the convertion.
*
* @param locale The locale
* @param pattern The convertion pattern
*/
public DecimalLocaleConverter(Locale locale, String pattern) {
this(locale, pattern, false);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will throw a {@link net.admin4j.deps.commons.beanutils.ConversionException}
* if a conversion error occurs.
*
* @param locale The locale
* @param pattern The convertion pattern
* @param locPattern Indicate whether the pattern is localized or not
*/
public DecimalLocaleConverter(Locale locale, String pattern, boolean locPattern) {
this(null, locale, pattern, locPattern);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will return the specified default value
* if a conversion error occurs. The locale is the default locale for
* this instance of the Java Virtual Machine and an unlocalized pattern is used
* for the convertion.
*
* @param defaultValue The default value to be returned
*/
public DecimalLocaleConverter(Object defaultValue) {
this(defaultValue, false);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will return the specified default value
* if a conversion error occurs. The locale is the default locale for
* this instance of the Java Virtual Machine.
*
* @param defaultValue The default value to be returned
* @param locPattern Indicate whether the pattern is localized or not
*/
public DecimalLocaleConverter(Object defaultValue, boolean locPattern) {
this(defaultValue, Locale.getDefault(), locPattern);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will return the specified default value
* if a conversion error occurs. An unlocalized pattern is used for the convertion.
*
* @param defaultValue The default value to be returned
* @param locale The locale
*/
public DecimalLocaleConverter(Object defaultValue, Locale locale) {
this(defaultValue, locale, false);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will return the specified default value
* if a conversion error occurs.
*
* @param defaultValue The default value to be returned
* @param locale The locale
* @param locPattern Indicate whether the pattern is localized or not
*/
public DecimalLocaleConverter(Object defaultValue, Locale locale, boolean locPattern) {
this(defaultValue, locale, null, locPattern);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will return the specified default value
* if a conversion error occurs. An unlocalized pattern is used for the convertion.
*
* @param defaultValue The default value to be returned
* @param locale The locale
* @param pattern The convertion pattern
*/
public DecimalLocaleConverter(Object defaultValue, Locale locale, String pattern) {
this(defaultValue, locale, pattern, false);
}
/**
* Create a {@link net.admin4j.deps.commons.beanutils.locale.LocaleConverter}
* that will return the specified default value
* if a conversion error occurs.
*
* @param defaultValue The default value to be returned
* @param locale The locale
* @param pattern The convertion pattern
* @param locPattern Indicate whether the pattern is localized or not
*/
public DecimalLocaleConverter(Object defaultValue, Locale locale, String pattern, boolean locPattern) {
super(defaultValue, locale, pattern, locPattern);
}
// --------------------------------------------------------- Methods
/**
* Convert the specified locale-sensitive input object into an output object of the
* specified type.
*
* @param value The input object to be converted
* @param pattern The pattern is used for the convertion
*
* @exception ConversionException if conversion cannot be performed
* successfully
*/
protected Object parse(Object value, String pattern) throws ParseException {
// DecimalFormat is not thread safe so best to construct one each time
DecimalFormat formatter = (DecimalFormat) DecimalFormat.getInstance(locale);
// if some constructors default pattern to null, it makes only sense to handle null pattern gracefully
if (pattern != null) {
if (locPattern) {
formatter.applyLocalizedPattern(pattern);
} else {
formatter.applyPattern(pattern);
}
} else {
log.warn("No pattern provided, using default.");
}
return formatter.parse((String) value);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy