001    /*
002     *  Copyright 2003-2004 The Apache Software Foundation
003     *
004     *  Licensed under the Apache License, Version 2.0 (the "License");
005     *  you may not use this file except in compliance with the License.
006     *  You may obtain a copy of the License at
007     *
008     *      http://www.apache.org/licenses/LICENSE-2.0
009     *
010     *  Unless required by applicable law or agreed to in writing, software
011     *  distributed under the License is distributed on an "AS IS" BASIS,
012     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     *  See the License for the specific language governing permissions and
014     *  limitations under the License.
015     */
016    package org.apache.commons.convert1;
017    
018    
019    /**
020     * <p>General purpose data type converter that can be registered and used
021     * within the BeanUtils package to manage the conversion of objects from
022     * one type to another.
023     *
024     * @author Craig McClanahan
025     * @author Paulo Gaspar
026     * @version $Id: Converter.java 155441 2005-02-26 13:19:22Z dirkv $
027     * @since 0.1
028     */
029    
030    public interface Converter {
031    
032    
033        /**
034         * Convert the specified input object into an output object of the
035         * specified type.
036         *
037         * @param type Data type to which this value should be converted
038         * @param value The input value to be converted
039         *
040         * @exception ConversionException if conversion cannot be performed
041         *  successfully
042         */
043        public Object convert(Class type, Object value);
044    
045    
046    }