001    /*
002     *  Copyright 2010 Stephen Colebourne
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.joda.convert;
017    
018    import java.lang.annotation.ElementType;
019    import java.lang.annotation.Retention;
020    import java.lang.annotation.RetentionPolicy;
021    import java.lang.annotation.Target;
022    
023    /**
024     * Annotation used to mark a method or constructor as being suitable for converting
025     * an object from a {@code String}.
026     * <p>
027     * When applying to a method, this annotation should be applied once per class.
028     * The method must be static and have one {@code String} parameter with a
029     * return type of the type that the method is implemented on.
030     * For example, {@link Integer#parseInt(String)}.
031     * <p>
032     * When applying to a constructor, this annotation should be applied to the constructor
033     * that takes one {@code String} parameter.
034     */
035    @Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
036    @Retention(RetentionPolicy.RUNTIME)
037    public @interface FromString {
038    
039    }