package net.vergien.beanautoutils.annotation;

/**
 *  Used as long java8 and java9/10/.. is on the market
 */
public @interface Generated {

  /**
   * The value element MUST have the name of the code generator. The
   * name is the fully qualified name of the code generator.
   *
   * @return The name of the code generator
   */
  String[] value();

  /**
   * Date when the source was generated. The date element must follow the ISO
   * 8601 standard. For example the date element would have the following
   * value 2017-07-04T12:08:56.235-0700 which represents 2017-07-04 12:08:56
   * local time in the U.S. Pacific Time time zone.
   *
   * @return The date the source was generated
   */
  String date() default "";

  /**
   * A place holder for any comments that the code generator may want to
   * include in the generated code.
   *
   * @return Comments that the code generated included
   */
  String comments() default "";
}

@@ -44,15 +44,202 @@
 n;%0A%0A
+import static java.lang.annotation.ElementType.TYPE;%0Aimport static java.lang.annotation.RetentionPolicy.SOURCE;%0A%0Aimport java.lang.annotation.Retention;%0Aimport java.lang.annotation.Target;%0A
 /**%0A *
- 
  Use
@@ -291,16 +291,49 @@
 ket%0A */%0A
+@Retention(SOURCE)%0A@Target(TYPE)%0A
 public @
@@ -355,18 +355,20 @@
 ated
- 
+%0A
 %7B%0A%0A
+ 
   /**%0A
+ 
    *
@@ -435,21 +435,16 @@
  The
-%0A   *
  name is
  the
@@ -439,16 +439,22 @@
  name is
+%0A    *
  the ful
@@ -493,26 +493,28 @@
 nerator.%0A   
+ 
 *%0A
+ 
    * @return
@@ -544,27 +544,29 @@
 enerator%0A   
+ 
 */%0A
+ 
   String%5B%5D v
@@ -572,28 +572,30 @@
 value();%0A%0A  
+ 
 /**%0A
+ 
    * Date wh
@@ -663,16 +663,17 @@
  ISO%0A   
+ 
 * 8601 s
@@ -738,19 +738,20 @@
 wing
-%0A   *
  value
+%0A    *
  201
@@ -816,19 +816,20 @@
 8:56
-%0A   *
  local
+%0A    *
  tim
@@ -866,24 +866,25 @@
 e zone.%0A
+ 
    *%0A   
 * @retur
@@ -867,32 +867,33 @@
  zone.%0A    *%0A   
+ 
 * @return The da
@@ -920,24 +920,25 @@
 nerated%0A
+ 
    */%0A  
 String d
@@ -925,24 +925,25 @@
 ed%0A    */%0A  
+ 
 String date(
@@ -959,20 +959,22 @@
  %22%22;%0A%0A  
+ 
 /**%0A
+ 
    * A p
@@ -1038,16 +1038,17 @@
 want to%0A
+ 
    * inc
@@ -1078,18 +1078,20 @@
 ode.%0A   
+ 
 *%0A
+ 
    * @re
@@ -1140,19 +1140,21 @@
 uded%0A   
+ 
 */%0A
+ 
   String

Make custom generated anotation only availabe at source