⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 characterarrayconverter.java

📁 apache beanutils开源项目源码
💻 JAVA
字号:
/* * 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 org.apache.commons.beanutils.converters;import java.util.List;import org.apache.commons.beanutils.ConversionException;import org.apache.commons.beanutils.Converter;/** * <p>Standard {@link Converter} implementation that converts an incoming * String into a primitive array of char.  On a conversion failure, returns * a specified default value or throws a {@link ConversionException} depending * on how this instance is constructed.</p> * * @author Craig R. McClanahan * @version $Revision: 1.7 $ $Date: 2004/02/28 13:18:34 $ * @since 1.4 */public final class CharacterArrayConverter extends AbstractArrayConverter {    // ----------------------------------------------------------- Constructors    /**     * Create a {@link Converter} that will throw a {@link ConversionException}     * if a conversion error occurs.     */    public CharacterArrayConverter() {        this.defaultValue = null;        this.useDefault = false;    }    /**     * Create a {@link Converter} that will return the specified default value     * if a conversion error occurs.     *     * @param defaultValue The default value to be returned     */    public CharacterArrayConverter(Object defaultValue) {        this.defaultValue = defaultValue;        this.useDefault = true;    }    // ------------------------------------------------------- Static Variables    /**     * <p>Model object for type comparisons.</p>     */    private static char model[] = new char[0];    // --------------------------------------------------------- Public Methods    /**     * Convert the specified input object into an output object of the     * specified type.     *     * @param type Data type to which this value should be converted     * @param value The input value to be converted     *     * @exception ConversionException if conversion cannot be performed     *  successfully     */    public Object convert(Class type, Object value) {        // Deal with a null value        if (value == null) {            if (useDefault) {                return (defaultValue);            } else {                throw new ConversionException("No value specified");            }        }        // Deal with the no-conversion-needed case        if (model.getClass() == value.getClass()) {            return (value);        }        // Deal with input value as a String array        if (strings.getClass() == value.getClass()) {            try {                String values[] = (String[]) value;                char results[] = new char[values.length];                for (int i = 0; i < values.length; i++) {                    results[i] = values[i].charAt(0);                }                return (results);            } catch (Exception e) {                if (useDefault) {                    return (defaultValue);                } else {                    throw new ConversionException(value.toString(), e);                }            }        }        // Parse the input value as a String into elements        // and convert to the appropriate type        try {            List list = parseElements(value.toString());            char results[] = new char[list.size()];            for (int i = 0; i < results.length; i++) {                results[i] = ((String) list.get(i)).charAt(0);            }            return (results);        } catch (Exception e) {            if (useDefault) {                return (defaultValue);            } else {                throw new ConversionException(value.toString(), e);            }        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -