public static void registerConverters() { ConvertUtils.register(new StringConverter(), String.class); //date ConvertUtils.register(new DateConverter(null),java.util.Date.class); ConvertUtils.register(new SqlDateConverter(null),java.sql.Date.class); ConvertUtils.register(new SqlTimeConverter(null),Time.class); ConvertUtils.register(new SqlTimestampConverter(null),Timestamp.class); //number ConvertUtils.register(new BooleanConverter(null), Boolean.class); ConvertUtils.register(new ShortConverter(null), Short.class); ConvertUtils.register(new IntegerConverter(null), Integer.class); ConvertUtils.register(new LongConverter(null), Long.class); ConvertUtils.register(new FloatConverter(null), Float.class); ConvertUtils.register(new DoubleConverter(null), Double.class); ConvertUtils.register(new BigDecimalConverter(null), BigDecimal.class); ConvertUtils.register(new BigIntegerConverter(null), BigInteger.class); }
public static void registerConverters(ConvertUtilsBean convertUtils,String[] datePatterns) { convertUtils.register(new StringConverter(), String.class); //date convertUtils.register(ConvertRegisterHelper.setPatterns(new DateConverter(null),datePatterns),java.util.Date.class); convertUtils.register(ConvertRegisterHelper.setPatterns(new SqlDateConverter(null),datePatterns),java.sql.Date.class); convertUtils.register(ConvertRegisterHelper.setPatterns(new SqlTimeConverter(null),datePatterns),Time.class); convertUtils.register(ConvertRegisterHelper.setPatterns(new SqlTimestampConverter(null),datePatterns),Timestamp.class); //number convertUtils.register(new BooleanConverter(null), Boolean.class); convertUtils.register(new ShortConverter(null), Short.class); convertUtils.register(new IntegerConverter(null), Integer.class); convertUtils.register(new LongConverter(null), Long.class); convertUtils.register(new FloatConverter(null), Float.class); convertUtils.register(new DoubleConverter(null), Double.class); convertUtils.register(new BigDecimalConverter(null), BigDecimal.class); convertUtils.register(new BigIntegerConverter(null), BigInteger.class); }
/** * Remove all registered {@link Converter}s, and re-establish the * standard Converters. */ public void deregister() { converters.clear(); registerPrimitives(false); registerStandard(false, false); registerOther(true); registerArrays(false, 0); register(BigDecimal.class, new BigDecimalConverter()); register(BigInteger.class, new BigIntegerConverter()); }
/** * Register array converters. * * @param throwException <code>true</code> if the converters should * throw an exception when a conversion error occurs, otherwise <code> * <code>false</code> if a default value should be used. * @param defaultArraySize The size of the default array value for array converters * (N.B. This values is ignored if <code>throwException</code> is <code>true</code>). * Specifying a value less than zero causes a <code>null<code> value to be used for * the default. */ private void registerArrays(final boolean throwException, final int defaultArraySize) { // Primitives registerArrayConverter(Boolean.TYPE, new BooleanConverter(), throwException, defaultArraySize); registerArrayConverter(Byte.TYPE, new ByteConverter(), throwException, defaultArraySize); registerArrayConverter(Character.TYPE, new CharacterConverter(), throwException, defaultArraySize); registerArrayConverter(Double.TYPE, new DoubleConverter(), throwException, defaultArraySize); registerArrayConverter(Float.TYPE, new FloatConverter(), throwException, defaultArraySize); registerArrayConverter(Integer.TYPE, new IntegerConverter(), throwException, defaultArraySize); registerArrayConverter(Long.TYPE, new LongConverter(), throwException, defaultArraySize); registerArrayConverter(Short.TYPE, new ShortConverter(), throwException, defaultArraySize); // Standard registerArrayConverter(BigDecimal.class, new BigDecimalConverter(), throwException, defaultArraySize); registerArrayConverter(BigInteger.class, new BigIntegerConverter(), throwException, defaultArraySize); registerArrayConverter(Boolean.class, new BooleanConverter(), throwException, defaultArraySize); registerArrayConverter(Byte.class, new ByteConverter(), throwException, defaultArraySize); registerArrayConverter(Character.class, new CharacterConverter(), throwException, defaultArraySize); registerArrayConverter(Double.class, new DoubleConverter(), throwException, defaultArraySize); registerArrayConverter(Float.class, new FloatConverter(), throwException, defaultArraySize); registerArrayConverter(Integer.class, new IntegerConverter(), throwException, defaultArraySize); registerArrayConverter(Long.class, new LongConverter(), throwException, defaultArraySize); registerArrayConverter(Short.class, new ShortConverter(), throwException, defaultArraySize); registerArrayConverter(String.class, new StringConverter(), throwException, defaultArraySize); // Other registerArrayConverter(Class.class, new ClassConverter(), throwException, defaultArraySize); registerArrayConverter(java.util.Date.class, new DateConverter(), throwException, defaultArraySize); registerArrayConverter(Calendar.class, new DateConverter(), throwException, defaultArraySize); registerArrayConverter(File.class, new FileConverter(), throwException, defaultArraySize); registerArrayConverter(java.sql.Date.class, new SqlDateConverter(), throwException, defaultArraySize); registerArrayConverter(java.sql.Time.class, new SqlTimeConverter(), throwException, defaultArraySize); registerArrayConverter(Timestamp.class, new SqlTimestampConverter(), throwException, defaultArraySize); registerArrayConverter(URL.class, new URLConverter(), throwException, defaultArraySize); }
/** * <p>Initialize other global characteristics of the controller servlet.</p> * * @exception ServletException if we cannot initialize these resources */ protected void initOther() throws ServletException { String value = null; value = getServletConfig().getInitParameter("config"); if (value != null) { config = value; } // Backwards compatibility for form beans of Java wrapper classes // Set to true for strict Struts 1.0 compatibility value = getServletConfig().getInitParameter("convertNull"); if ("true".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value) || "on".equalsIgnoreCase(value) || "y".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value)) { convertNull = true; } if (convertNull) { ConvertUtils.deregister(); ConvertUtils.register(new BigDecimalConverter(null), BigDecimal.class); ConvertUtils.register(new BigIntegerConverter(null), BigInteger.class); ConvertUtils.register(new BooleanConverter(null), Boolean.class); ConvertUtils.register(new ByteConverter(null), Byte.class); ConvertUtils.register(new CharacterConverter(null), Character.class); ConvertUtils.register(new DoubleConverter(null), Double.class); ConvertUtils.register(new FloatConverter(null), Float.class); ConvertUtils.register(new IntegerConverter(null), Integer.class); ConvertUtils.register(new LongConverter(null), Long.class); ConvertUtils.register(new ShortConverter(null), Short.class); } }
/** * Returns a BigInteger representation of the field or a default value in case if the field cannot * be converted to a BigInteger. * @param def the default value to be returned if an error occurs converting the field * @return a BigInteger representation of the field */ public BigInteger getBigInteger(BigInteger def) { BigDecimal result = new BigDecimalConverter(null).convert(BigDecimal.class, value); return result != null ? result.multiply(BigDecimal.valueOf(getMultiplier())).setScale(0, RoundingMode.HALF_UP).toBigInteger() : def; }
/** * <p>Initialize other global characteristics of the controller * servlet.</p> * * @throws ServletException if we cannot initialize these resources */ protected void initOther() throws ServletException { String value; value = getServletConfig().getInitParameter("config"); if (value != null) { config = value; } // Backwards compatibility for form beans of Java wrapper classes // Set to true for strict Struts 1.0 compatibility value = getServletConfig().getInitParameter("convertNull"); if ("true".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value) || "on".equalsIgnoreCase(value) || "y".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value)) { convertNull = true; } if (convertNull) { ConvertUtils.deregister(); ConvertUtils.register(new BigDecimalConverter(null), BigDecimal.class); ConvertUtils.register(new BigIntegerConverter(null), BigInteger.class); ConvertUtils.register(new BooleanConverter(null), Boolean.class); ConvertUtils.register(new ByteConverter(null), Byte.class); ConvertUtils.register(new CharacterConverter(null), Character.class); ConvertUtils.register(new DoubleConverter(null), Double.class); ConvertUtils.register(new FloatConverter(null), Float.class); ConvertUtils.register(new IntegerConverter(null), Integer.class); ConvertUtils.register(new LongConverter(null), Long.class); ConvertUtils.register(new ShortConverter(null), Short.class); } }
public void initialize(ConfigurableApplicationContext applicationContext) { logger.debug("Context is initialized"); BeanUtilsBean.getInstance(). getConvertUtils().register(new LongConverter(null), Long.class); BeanUtilsBean.getInstance() .getConvertUtils().register(new BigDecimalConverter(null), BigDecimal.class); }
/** * <p>Initialize other global characteristics of the controller servlet.</p> * Overridden to remove the ConvertUtils.deregister() command that caused problems * with the concurrent data dictionary load. (KULRNE-4405) * * @exception ServletException if we cannot initialize these resources */ @Override protected void initOther() throws ServletException { String value = null; value = getServletConfig().getInitParameter("config"); if (value != null) { config = value; } // Backwards compatibility for form beans of Java wrapper classes // Set to true for strict Struts 1.0 compatibility value = getServletConfig().getInitParameter("convertNull"); if ("true".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value) || "on".equalsIgnoreCase(value) || "y".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value)) { convertNull = true; } if (convertNull) { ConvertUtils.register(new BigDecimalConverter(null), BigDecimal.class); ConvertUtils.register(new BigIntegerConverter(null), BigInteger.class); ConvertUtils.register(new BooleanConverter(null), Boolean.class); ConvertUtils.register(new ByteConverter(null), Byte.class); ConvertUtils.register(new CharacterConverter(null), Character.class); ConvertUtils.register(new DoubleConverter(null), Double.class); ConvertUtils.register(new FloatConverter(null), Float.class); ConvertUtils.register(new IntegerConverter(null), Integer.class); ConvertUtils.register(new LongConverter(null), Long.class); ConvertUtils.register(new ShortConverter(null), Short.class); } // KULRICE-8176: KFS Notes/Attachments Tab Functionality for Note Text Error - Visible/Special characters, spaces, or tabs parameterEncoding = getServletConfig().getInitParameter("PARAMETER_ENCODING"); }
/** * Register the converters for standard types. * </p> * This method registers the following converters: * <ul> * <li><code>BigDecimal.class</code> - {@link BigDecimalConverter}</li> * <li><code>BigInteger.class</code> - {@link BigIntegerConverter}</li> * <li><code>Boolean.class</code> - {@link BooleanConverter}</li> * <li><code>Byte.class</code> - {@link ByteConverter}</li> * <li><code>Character.class</code> - {@link CharacterConverter}</li> * <li><code>Double.class</code> - {@link DoubleConverter}</li> * <li><code>Float.class</code> - {@link FloatConverter}</li> * <li><code>Integer.class</code> - {@link IntegerConverter}</li> * <li><code>Long.class</code> - {@link LongConverter}</li> * <li><code>Short.class</code> - {@link ShortConverter}</li> * <li><code>String.class</code> - {@link StringConverter}</li> * </ul> * @param throwException <code>true</code> if the converters should * throw an exception when a conversion error occurs, otherwise <code> * <code>false</code> if a default value should be used. * @param defaultNull <code>true</code>if the <i>standard</i> converters * (see {@link ConvertUtilsBean#registerStandard(boolean, boolean)}) * should use a default value of <code>null</code>, otherwise <code>false</code>. * N.B. This values is ignored if <code>throwException</code> is <code>true</code> */ private void registerStandard(final boolean throwException, final boolean defaultNull) { final Number defaultNumber = defaultNull ? null : ZERO; final BigDecimal bigDecDeflt = defaultNull ? null : new BigDecimal("0.0"); final BigInteger bigIntDeflt = defaultNull ? null : new BigInteger("0"); final Boolean booleanDefault = defaultNull ? null : Boolean.FALSE; final Character charDefault = defaultNull ? null : SPACE; final String stringDefault = defaultNull ? null : ""; register(BigDecimal.class, throwException ? new BigDecimalConverter() : new BigDecimalConverter(bigDecDeflt)); register(BigInteger.class, throwException ? new BigIntegerConverter() : new BigIntegerConverter(bigIntDeflt)); register(Boolean.class, throwException ? new BooleanConverter() : new BooleanConverter(booleanDefault)); register(Byte.class, throwException ? new ByteConverter() : new ByteConverter(defaultNumber)); register(Character.class, throwException ? new CharacterConverter() : new CharacterConverter(charDefault)); register(Double.class, throwException ? new DoubleConverter() : new DoubleConverter(defaultNumber)); register(Float.class, throwException ? new FloatConverter() : new FloatConverter(defaultNumber)); register(Integer.class, throwException ? new IntegerConverter() : new IntegerConverter(defaultNumber)); register(Long.class, throwException ? new LongConverter() : new LongConverter(defaultNumber)); register(Short.class, throwException ? new ShortConverter() : new ShortConverter(defaultNumber)); register(String.class, throwException ? new StringConverter() : new StringConverter(stringDefault)); }
/** * <p>Initialize other global characteristics of the controller * servlet.</p> * * @throws ServletException if we cannot initialize these resources */ protected void initOther() throws ServletException { String value; value = getServletConfig().getInitParameter("config"); if (value != null) { //QB-RM add *.xml if(value.trim().length() > 0 && value.indexOf("*.xml") > -1){ // String finalValue = ""; String[] aValue = value.trim().split(","); for (int j = 0; j < aValue.length; j++) { String path = aValue[j]; if(path.trim().length() == 0) { continue; } //判断当前这行是否*.xml if(path.trim().endsWith("*.xml")) { File fWarDirStr = RmPathHelper.getWarDir(); File fPath = new File(fWarDirStr + File.separator + (path.substring(0, path.length()-"*.xml".length()))); for (int i = 0; i < fPath.listFiles().length; i++) { File fPathXml = fPath.listFiles()[i]; if(fPathXml.isFile() && fPathXml.toString().toLowerCase().endsWith(".xml")) { String newPath = fPathXml.getAbsolutePath().substring((int)fWarDirStr.getAbsoluteFile().toString().length()).replaceAll("\\\\", "/"); finalValue += newPath + ","; } } } else { finalValue += path + ","; } } if(finalValue.endsWith(",")) { finalValue = finalValue.substring(0, finalValue.length() - ",".length()); } config = finalValue; } else { config = value; } } // Backwards compatibility for form beans of Java wrapper classes // Set to true for strict Struts 1.0 compatibility value = getServletConfig().getInitParameter("convertNull"); if ("true".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value) || "on".equalsIgnoreCase(value) || "y".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value)) { convertNull = true; } if (convertNull) { ConvertUtils.deregister(); ConvertUtils.register(new BigDecimalConverter(null), BigDecimal.class); ConvertUtils.register(new BigIntegerConverter(null), BigInteger.class); ConvertUtils.register(new BooleanConverter(null), Boolean.class); ConvertUtils.register(new ByteConverter(null), Byte.class); ConvertUtils.register(new CharacterConverter(null), Character.class); ConvertUtils.register(new DoubleConverter(null), Double.class); ConvertUtils.register(new FloatConverter(null), Float.class); ConvertUtils.register(new IntegerConverter(null), Integer.class); ConvertUtils.register(new LongConverter(null), Long.class); ConvertUtils.register(new ShortConverter(null), Short.class); } }
/** * 将 <code>toBeConvertedValue</code> 转换成 {@link java.math.BigDecimal}. * * <h3>示例:</h3> * * <blockquote> * * <pre class="code"> * ConvertUtil.toBigDecimal(null) = null * ConvertUtil.toBigDecimal("aaaa") = null * ConvertUtil.toBigDecimal(8) = BigDecimal.valueOf(8) * ConvertUtil.toBigDecimal("8") = BigDecimal.valueOf(8) * ConvertUtil.toBigDecimal(new BigDecimal("8")) = BigDecimal.valueOf(8) * </pre> * * <p> * 如果传入的参数 <code>toBeConvertedValue</code> 是 <b>数组</b>,那么<b>取第一个元素</b>进行转换,参见 {@link AbstractConverter#convertArray(Object)} L227: * </p> * * <pre class="code"> * ConvertUtil.toBigDecimal(new String[] { "1", "2", "3" }) = BigDecimal.valueOf(1) * </pre> * * <p> * 如果传入的参数 <code>toBeConvertedValue</code> 是 <b>集合</b>,那么<b>取第一个元素</b>进行转换,参见 {@link AbstractConverter#convertArray(Object)} Line234: * </p> * * <pre class="code"> * ConvertUtil.toBigDecimal(toList("1", "2")) = BigDecimal.valueOf(1) * </pre> * * </blockquote> * * <h3>{@link java.lang.Double} 转成 {@link java.math.BigDecimal}注意点:</h3> * * <blockquote> * * <p> * <span style="color:red">推荐使用 {@link BigDecimal#valueOf(double)}</span>,不建议使用 <code>new BigDecimal(double)</code>,参见 JDK API<br> * </p> * * <ul> * <li>{@code new BigDecimal(0.1) ====> 0.1000000000000000055511151231257827021181583404541015625}</li> * <li>{@code BigDecimal.valueOf(0.1) ====> 0.1}</li> * </ul> * * <p> * 本方法底层调用的是 {@link NumberConverter#toNumber(Class, Class, Number) * NumberConverter#toNumber(Class, Class, Number)},正确的处理了 {@link java.lang.Double} 转成 {@link java.math.BigDecimal} * </p> * </blockquote> * * @param toBeConvertedValue * 值 * @return 如果 <code>toBeConvertedValue</code> 是null,返回 null<br> * 如果传入的参数 <code>toBeConvertedValue</code> 是 <b>数组</b>,那么<b>取第一个元素</b>进行转换<br> * 如果传入的参数 <code>toBeConvertedValue</code> 是 <b>集合</b>,那么<b>取第一个元素</b>进行转换<br> * 如果找不到转换器或者转换的时候出现了异常,返回 null * @see #convert(Object, Class) * @see org.apache.commons.beanutils.converters.NumberConverter#toNumber(Class, Class, Number) * @see org.apache.commons.beanutils.converters.BigDecimalConverter */ public static BigDecimal toBigDecimal(Object toBeConvertedValue){ return new BigDecimalConverter(null).convert(BigDecimal.class, toBeConvertedValue); }