You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/10/02 07:03:49 UTC

[isis-app-demo] 02/03: adds EmailAddress meta-annotation

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to tag tags/03-08-add-remaining-PetOwner-properties
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git

commit dd17833fe7eb4f6c082bfc5437052ab386370b0a
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Oct 2 08:02:26 2021 +0100

    adds EmailAddress meta-annotation
---
 .../petclinic/modules/pets/types/EmailAddress.java | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/module-pets/src/main/java/petclinic/modules/pets/types/EmailAddress.java b/module-pets/src/main/java/petclinic/modules/pets/types/EmailAddress.java
new file mode 100644
index 0000000..ad2833e
--- /dev/null
+++ b/module-pets/src/main/java/petclinic/modules/pets/types/EmailAddress.java
@@ -0,0 +1,28 @@
+package petclinic.modules.pets.types;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.Optionality;
+import org.apache.isis.applib.annotation.Parameter;
+import org.apache.isis.applib.annotation.ParameterLayout;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.PropertyLayout;
+
+@Property(
+        editing = Editing.ENABLED,
+        maxLength = EmailAddress.MAX_LEN,
+        optionality = Optionality.OPTIONAL
+)
+@PropertyLayout(named = "E-mail")
+@Parameter(maxLength = EmailAddress.MAX_LEN, optionality = Optionality.OPTIONAL)
+@ParameterLayout(named = "E-mail")
+@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface EmailAddress {
+
+    int MAX_LEN = 100;
+}