From 1af3660bad54d11eab09a54ba7dc12605f86a34d Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Fri, 1 Sep 2023 23:00:14 +1200 Subject: [PATCH] Add @Generated --- .../recordbuilder/internal/RecordModel.java | 5 +++-- .../internal/RecordProcessor.java | 1 + .../io/avaje/recordbuilder/Generated.java | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 avaje-record-builder/src/main/java/io/avaje/recordbuilder/Generated.java diff --git a/avaje-record-builder-core/src/main/java/io/avaje/recordbuilder/internal/RecordModel.java b/avaje-record-builder-core/src/main/java/io/avaje/recordbuilder/internal/RecordModel.java index 63f5718..5c2a185 100644 --- a/avaje-record-builder-core/src/main/java/io/avaje/recordbuilder/internal/RecordModel.java +++ b/avaje-record-builder-core/src/main/java/io/avaje/recordbuilder/internal/RecordModel.java @@ -28,6 +28,7 @@ public RecordModel( this.type = type; this.isImported = isImported; this.components = components; + importTypes.add("io.avaje.recordbuilder.Generated"); } void initialImports() { @@ -70,8 +71,8 @@ String fields(Map defaultsMap) { } builder.append( - " private %s %s%s; // -- %s\n" - .formatted(uType.shortType(), element.getSimpleName(), defaultVal, uType.mainType())); + " private %s %s%s;\n" + .formatted(uType.shortType(), element.getSimpleName(), defaultVal)); } return builder.toString(); diff --git a/avaje-record-builder-core/src/main/java/io/avaje/recordbuilder/internal/RecordProcessor.java b/avaje-record-builder-core/src/main/java/io/avaje/recordbuilder/internal/RecordProcessor.java index 4cc534f..a99598c 100644 --- a/avaje-record-builder-core/src/main/java/io/avaje/recordbuilder/internal/RecordProcessor.java +++ b/avaje-record-builder-core/src/main/java/io/avaje/recordbuilder/internal/RecordProcessor.java @@ -289,6 +289,7 @@ String template( {1} /** Builder class for '{'@link {2}'}' */ + @Generated("avaje-record-builder") public class {2}Builder '{' {3} private {2}Builder() '{' diff --git a/avaje-record-builder/src/main/java/io/avaje/recordbuilder/Generated.java b/avaje-record-builder/src/main/java/io/avaje/recordbuilder/Generated.java new file mode 100644 index 0000000..5c7fa94 --- /dev/null +++ b/avaje-record-builder/src/main/java/io/avaje/recordbuilder/Generated.java @@ -0,0 +1,19 @@ +package io.avaje.recordbuilder; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Marks source code that has been generated. + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +public @interface Generated { + + /** + * The name of the generator used to generate this source. + */ + String value() default ""; +}