01: /*
02: * JBoss, Home of Professional Open Source
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors as indicated
04: * by the @authors tag. See the copyright.txt in the distribution for a
05: * full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package javax.annotation;
23:
24: import java.lang.annotation.Documented;
25: import java.lang.annotation.Retention;
26: import java.lang.annotation.Target;
27: import static java.lang.annotation.ElementType.*;
28: import static java.lang.annotation.RetentionPolicy.*;
29:
30: /**
31: * The Generated annoation is used to mark source code that has been generated.
32: * It can also be used to differentiate user written code from generated code in
33: * a single file. When used, the value element must have the name of the code
34: * generator. The recommended convention is to use the fully qualified name of
35: * the code generator in the value field . For example: com.company.package.classname.
36: * The date element is used to indicate the date the source was generated. The
37: * date element must follow the ISO 8601 standard. For example the date element
38: * would have the following value 2001-07-04T12:08:56.235-0700 which represents
39: * 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone. The comment
40: * element is a place holder for any comments that the code generator may want to
41: * include in the generated code.
42: *
43: * @author <a href="mailto:carlo.dewolf@jboss.com">Carlo de Wolf</a>
44: * @version $Revision: $
45: * @since Common Annotations 1.0
46: */
47: @Documented
48: @Retention(SOURCE)
49: @Target({PACKAGE,TYPE,ANNOTATION_TYPE,METHOD,CONSTRUCTOR,FIELD,LOCAL_VARIABLE,PARAMETER})
50: public @interface Generated {
51: /**
52: * This is used by the code generator to mark the generated classes and methods.
53: */
54: String[] value();
55:
56: /**
57: * A place holder for any comments that the code generator may want to include in the generated code.
58: */
59: String comments() default "";
60:
61: /**
62: * Date when the source was generated.
63: */
64: String date() default "";
65: }
|