diff --git a/record-builder-core/src/main/java/io/soabase/recordbuilder/core/RecordBuilder.java b/record-builder-core/src/main/java/io/soabase/recordbuilder/core/RecordBuilder.java index 90757415..8707161b 100644 --- a/record-builder-core/src/main/java/io/soabase/recordbuilder/core/RecordBuilder.java +++ b/record-builder-core/src/main/java/io/soabase/recordbuilder/core/RecordBuilder.java @@ -253,6 +253,12 @@ */ boolean addStaticBuilder() default true; + /** + * If set, appends a suffix to the static builder method + */ + String staticBuilderSuffix() default ""; + + /** * If {@link #addSingleItemCollectionBuilders()} and {@link #useImmutableCollections()} are enabled the builder * uses an internal class to track changes to lists. This is the name of that class. diff --git a/record-builder-processor/src/main/java/io/soabase/recordbuilder/processor/InternalRecordBuilderProcessor.java b/record-builder-processor/src/main/java/io/soabase/recordbuilder/processor/InternalRecordBuilderProcessor.java index 6bf79e29..5aab4ffb 100644 --- a/record-builder-processor/src/main/java/io/soabase/recordbuilder/processor/InternalRecordBuilderProcessor.java +++ b/record-builder-processor/src/main/java/io/soabase/recordbuilder/processor/InternalRecordBuilderProcessor.java @@ -363,7 +363,7 @@ public static MyRecord(int p1, T p2, ...) { } */ CodeBlock codeBlock = buildCodeBlock(); - var builder = MethodSpec.methodBuilder(recordClassType.name()) + var builder = MethodSpec.methodBuilder(recordClassType.name() + metaData.staticBuilderSuffix()) .addJavadoc("Static constructor/builder. Can be used instead of new $L(...)\n", recordClassType.name()) .addTypeVariables(typeVariables) .addModifiers(Modifier.PUBLIC, Modifier.STATIC)