You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/05/24 04:43:19 UTC

[isis] branch master updated: ISIS-3063: adds annot. @Aliased; deprecates others in favor of @Named

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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new dcd6b0d024 ISIS-3063: adds annot. @Aliased; deprecates others in favor of @Named
dcd6b0d024 is described below

commit dcd6b0d024ffe64b6f12bf9d2192a73457fb4e0f
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue May 24 06:43:14 2022 +0200

    ISIS-3063: adds annot. @Aliased; deprecates others in favor of @Named
---
 .../{LogicalTypeName.java => Aliased.java}           | 20 +++++++++++++-------
 .../apache/isis/applib/annotation/DomainObject.java  |  3 ++-
 .../apache/isis/applib/annotation/DomainService.java |  1 -
 .../isis/applib/annotation/LogicalTypeName.java      |  7 +++++--
 4 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/LogicalTypeName.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Aliased.java
similarity index 76%
copy from api/applib/src/main/java/org/apache/isis/applib/annotation/LogicalTypeName.java
copy to api/applib/src/main/java/org/apache/isis/applib/annotation/Aliased.java
index e7d2f37db8..8768f26294 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/LogicalTypeName.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Aliased.java
@@ -24,9 +24,15 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
+import javax.inject.Named;
+
+import org.apache.isis.applib.services.bookmark.Bookmark;
+
 /**
- * Introduced to allow for abstract types to be mapped to a logical-type-name,
- * for the security model to apply permission checks against.
+ * Introduced to allow for historic bookmarks to be resolved to
+ * their corresponding new types.
+ * @see Bookmark
+ * @see Named
  *
  * @since 2.0 {@index}
  */
@@ -36,13 +42,13 @@ import java.lang.annotation.Target;
         ElementType.ANNOTATION_TYPE
 })
 @Retention(RetentionPolicy.RUNTIME)
-public @interface LogicalTypeName {
+public @interface Aliased {
 
     /**
-     * If unspecified, the fully-qualified class name is used instead.
-     * @see DomainObject#logicalTypeName()
+     * Alternative logical type name(s) for the annotated type.
+     * @see Bookmark
+     * @see Named
      */
-    String value()
-        default "";
+    String[] value() default {};
 
 }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
index 32759711e9..7d10da9d6f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObject.java
@@ -185,9 +185,10 @@ public @interface DomainObject {
      * (same concept as a URN).
      * Otherwise, if not specified, the fully qualified class name is used instead.
      * </p>
-     *
+     * @deprecated use {@link Named} instead
      * @see Named
      */
+    @Deprecated(forRemoval = true, since = "2.0.0-RC1")
     String logicalTypeName()
             default "";
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainService.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainService.java
index 6d2ea25e9d..1106ad67b1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainService.java
@@ -76,7 +76,6 @@ public @interface DomainService {
      * Otherwise, if not specified, the default Spring Bean name is used instead.
      * </p>
      * @deprecated use Spring semantics instead, eg. {@link Named} or equivalent
-     * @see DomainObject#logicalTypeName()
      * @see Named
      */
     @Deprecated(forRemoval = true, since = "2.0.0-RC1")
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/LogicalTypeName.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/LogicalTypeName.java
index e7d2f37db8..93d964aa5a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/LogicalTypeName.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/LogicalTypeName.java
@@ -24,11 +24,13 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
+import javax.inject.Named;
+
 /**
  * Introduced to allow for abstract types to be mapped to a logical-type-name,
  * for the security model to apply permission checks against.
- *
- * @since 2.0 {@index}
+ * @deprecated use {@link Named} instead
+ * @see Named
  */
 @Inherited
 @Target({
@@ -36,6 +38,7 @@ import java.lang.annotation.Target;
         ElementType.ANNOTATION_TYPE
 })
 @Retention(RetentionPolicy.RUNTIME)
+@Deprecated(forRemoval = true, since = "2.0.0-RC1")
 public @interface LogicalTypeName {
 
     /**