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.