From aab2f7b24ff3f09fd9a3e72778710a9e89a9eb95 Mon Sep 17 00:00:00 2001 From: Markus Kreth Date: Thu, 8 Dec 2022 23:07:52 +0100 Subject: [PATCH] Annotation accepts format parameter --- .project | 23 ------------------- .../kreth/property2java/processor/Format.java | 18 +++++++++++++++ .../processor/GenerateProperty2Java.java | 2 ++ .../processor/Property2JavaGenerator.java | 3 ++- 4 files changed, 22 insertions(+), 24 deletions(-) delete mode 100644 .project diff --git a/.project b/.project deleted file mode 100644 index 9c40d07..0000000 --- a/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - PropertyToJavaGenerator - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - diff --git a/src/main/java/de/kreth/property2java/processor/Format.java b/src/main/java/de/kreth/property2java/processor/Format.java index a0d271c..750b31c 100644 --- a/src/main/java/de/kreth/property2java/processor/Format.java +++ b/src/main/java/de/kreth/property2java/processor/Format.java @@ -1,9 +1,27 @@ package de.kreth.property2java.processor; +import java.util.PropertyResourceBundle; + public enum Format { + /** + * Offers a getString(UnaryOperator resourceFunction) method to access + * the String value + */ WithUnaryOperatorParameter, + /** + * Generates {@link PropertyResourceBundle} to offer a getText() method without + * parameters. + */ WithInnerPropertyResourceBundle, + /** + * Offers a generated {@link PropertyResourceBundle} to offer a getText() method + * without parameters. + */ WithInnerPropertyLoader, + /** + * Offers a static init(UnaryOperator resourceFunction) method to offer + * a getText() method. The init method must be called before any getText() call. + */ WithInitializer } diff --git a/src/main/java/de/kreth/property2java/processor/GenerateProperty2Java.java b/src/main/java/de/kreth/property2java/processor/GenerateProperty2Java.java index 4d4862d..358deb2 100644 --- a/src/main/java/de/kreth/property2java/processor/GenerateProperty2Java.java +++ b/src/main/java/de/kreth/property2java/processor/GenerateProperty2Java.java @@ -37,4 +37,6 @@ import java.lang.annotation.Target; */ public @interface GenerateProperty2Java { String[] resources(); + + Format format() default Format.WithUnaryOperatorParameter; } diff --git a/src/main/java/de/kreth/property2java/processor/Property2JavaGenerator.java b/src/main/java/de/kreth/property2java/processor/Property2JavaGenerator.java index 3273f32..6460644 100644 --- a/src/main/java/de/kreth/property2java/processor/Property2JavaGenerator.java +++ b/src/main/java/de/kreth/property2java/processor/Property2JavaGenerator.java @@ -47,7 +47,8 @@ public class Property2JavaGenerator extends AbstractProcessor { for (Element element : elementsAnnotatedWith) { GenerateProperty2Java generateAnnotation = element.getAnnotation(GenerateProperty2Java.class); String[] resources = generateAnnotation.resources(); - generateElementProperties(element, Arrays.asList(resources), Format.WithUnaryOperatorParameter); + Format format = generateAnnotation.format(); + generateElementProperties(element, Arrays.asList(resources), format); } }