From fbd1a7153d25aacdf6b35714ebd3907b687d71d1 Mon Sep 17 00:00:00 2001 From: Pid Date: Sat, 12 Oct 2013 09:52:40 +0100 Subject: [PATCH] SHL-120 - Add @Inherited and @Documented to the annotations. Adding @Inherited will permit command properties to be defined on an interface that extends CommandMarker, separating the declarative configuration and implementation, making it easier to read. --- .../shell/core/annotation/CliAvailabilityIndicator.java | 4 ++++ .../org/springframework/shell/core/annotation/CliCommand.java | 4 ++++ .../org/springframework/shell/core/annotation/CliOption.java | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/main/java/org/springframework/shell/core/annotation/CliAvailabilityIndicator.java b/src/main/java/org/springframework/shell/core/annotation/CliAvailabilityIndicator.java index 88f82dc8..6aebddf6 100644 --- a/src/main/java/org/springframework/shell/core/annotation/CliAvailabilityIndicator.java +++ b/src/main/java/org/springframework/shell/core/annotation/CliAvailabilityIndicator.java @@ -15,7 +15,9 @@ */ package org.springframework.shell.core.annotation; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -42,6 +44,8 @@ import java.lang.annotation.Target; * @author Ben Alex * @since 1.0 */ +@Inherited +@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface CliAvailabilityIndicator { diff --git a/src/main/java/org/springframework/shell/core/annotation/CliCommand.java b/src/main/java/org/springframework/shell/core/annotation/CliCommand.java index 6be3334c..f80aa564 100644 --- a/src/main/java/org/springframework/shell/core/annotation/CliCommand.java +++ b/src/main/java/org/springframework/shell/core/annotation/CliCommand.java @@ -15,7 +15,9 @@ */ package org.springframework.shell.core.annotation; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -28,6 +30,8 @@ import java.lang.annotation.Target; * @since 1.0 * */ +@Inherited +@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface CliCommand { diff --git a/src/main/java/org/springframework/shell/core/annotation/CliOption.java b/src/main/java/org/springframework/shell/core/annotation/CliOption.java index ff3ce45b..480cb524 100644 --- a/src/main/java/org/springframework/shell/core/annotation/CliOption.java +++ b/src/main/java/org/springframework/shell/core/annotation/CliOption.java @@ -15,7 +15,9 @@ */ package org.springframework.shell.core.annotation; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -29,6 +31,8 @@ import org.springframework.shell.core.Converter; * @since 1.0 * */ +@Inherited +@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PARAMETER) public @interface CliOption {