001    package org.nakedobjects.applib.annotation;
002    
003    import java.lang.annotation.ElementType;
004    import java.lang.annotation.Inherited;
005    import java.lang.annotation.Retention;
006    import java.lang.annotation.RetentionPolicy;
007    import java.lang.annotation.Target;
008    
009    
010    /**
011     * Indicates that a property is not mandatory.
012     * 
013     * <p>
014     * Can also be specified for types that are annotated as <tt>@Value</tt> types. The value need not have string semantics.
015     */
016    @Inherited
017    @Target( { ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER })
018    @Retention(RetentionPolicy.RUNTIME)
019    public @interface Optional {
020    
021    }
022    
023    // Copyright (c) Naked Objects Group Ltd.