From 2c5680408cb9371bc7a160247007f1b985ad1f92 Mon Sep 17 00:00:00 2001 From: Anton Oellerer <13524304+AntonOellerer@users.noreply.github.com> Date: Wed, 22 May 2024 13:10:23 +0200 Subject: [PATCH] Add missing files --- .../annotations/DynamicAccessPlaceholder.java | 26 ++++++++++++++++++ .../templates/word/DynamicAccess.docx | Bin 0 -> 8870 bytes 2 files changed, 26 insertions(+) create mode 100644 src/main/java/com/docutools/jocument/annotations/DynamicAccessPlaceholder.java create mode 100644 src/test/resources/templates/word/DynamicAccess.docx diff --git a/src/main/java/com/docutools/jocument/annotations/DynamicAccessPlaceholder.java b/src/main/java/com/docutools/jocument/annotations/DynamicAccessPlaceholder.java new file mode 100644 index 0000000..1eeabdc --- /dev/null +++ b/src/main/java/com/docutools/jocument/annotations/DynamicAccessPlaceholder.java @@ -0,0 +1,26 @@ +package com.docutools.jocument.annotations; + +import com.docutools.jocument.impl.models.MatchPlaceholderData; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.Locale; + +/** + * Allows to define a regular expression pattern for a method to be resolved in a {@link com.docutools.jocument.impl.ReflectionResolver} if the + * placeholder name passed to {@link com.docutools.jocument.impl.ReflectionResolver#resolve(String, Locale)} matches against the {@link + * this#pattern()}. + * + *

Can be applied to a public method taking a {@link MatchPlaceholderData}, returning an {@link java.util.Optional} of {@link Object}. + * + * @author amp + * @since 2022-03-01 + */ +@Retention(RetentionPolicy.RUNTIME) +public @interface DynamicAccessPlaceholder { + /** + * A RegEx pattern. + * + * @return {@link String} + */ + String pattern(); +} diff --git a/src/test/resources/templates/word/DynamicAccess.docx b/src/test/resources/templates/word/DynamicAccess.docx new file mode 100644 index 0000000000000000000000000000000000000000..61c0468682a7fd2c496c6da4b9788468c7f65385 GIT binary patch literal 8870 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 POvvXH(xb~Gd-(SsH9yO4 literal 0 HcmV?d00001