From f4d3c336e848352f243a11088d6c1c6ba683a986 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Sun, 5 May 2019 17:34:41 +0200 Subject: [PATCH] DATACASS-652 - Polishing. Annotate our annotations consistently with Documented. --- .../cassandra/core/mapping/CassandraType.java | 23 +++++++++++-------- .../data/cassandra/core/mapping/Element.java | 2 ++ .../data/cassandra/core/mapping/Indexed.java | 2 ++ .../cassandra/core/mapping/PrimaryKey.java | 2 ++ .../core/mapping/PrimaryKeyClass.java | 2 ++ .../core/mapping/PrimaryKeyColumn.java | 2 ++ .../data/cassandra/core/mapping/SASI.java | 4 +++- .../data/cassandra/core/mapping/Table.java | 2 ++ .../data/cassandra/core/mapping/Tuple.java | 2 ++ .../core/mapping/UserDefinedType.java | 2 ++ .../cassandra/repository/AllowFiltering.java | 2 +- .../cassandra/repository/Consistency.java | 2 +- .../data/cassandra/repository/CountQuery.java | 2 +- .../cassandra/repository/ExistsQuery.java | 2 +- .../data/cassandra/repository/Query.java | 2 +- .../config/EnableCassandraRepositories.java | 2 +- .../EnableReactiveCassandraRepositories.java | 2 +- 17 files changed, 39 insertions(+), 18 deletions(-) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraType.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraType.java index 15d12dc53..fbfec2b6f 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraType.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraType.java @@ -16,8 +16,10 @@ package org.springframework.data.cassandra.core.mapping; import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import com.datastax.driver.core.DataType; @@ -31,6 +33,8 @@ import com.datastax.driver.core.DataType; */ @Documented @Retention(RetentionPolicy.RUNTIME) +@Target(value = { ElementType.TYPE, ElementType.TYPE_PARAMETER, ElementType.ANNOTATION_TYPE, ElementType.FIELD, + ElementType.METHOD, ElementType.PARAMETER }) public @interface CassandraType { /** @@ -39,14 +43,14 @@ public @interface CassandraType { DataType.Name type(); /** - * If the property is {@link java.util.Collection Collection-like}, then this attribute holds - * a single {@link DataType.Name DataType Name} representing the element type of the {@link java.util.Collection}. + * If the property is {@link java.util.Collection Collection-like}, then this attribute holds a single + * {@link DataType.Name DataType Name} representing the element type of the {@link java.util.Collection}. *

- * If the property is a {@link java.util.Map}, then this attribute holds exactly - * two {@link DataType.Name DataType Names}; the first is the key type and the second is the value type. + * If the property is a {@link java.util.Map}, then this attribute holds exactly two {@link DataType.Name DataType + * Names}; the first is the key type and the second is the value type. *

- * If the property is neither {@link java.util.Collection Collection-like} nor a {@link java.util.Map}, - * then this attribute is ignored. + * If the property is neither {@link java.util.Collection Collection-like} nor a {@link java.util.Map}, then this + * attribute is ignored. * * @return an array of {@link DataType.Name} objects. * @see com.datastax.driver.core.DataType.Name @@ -54,10 +58,9 @@ public @interface CassandraType { DataType.Name[] typeArguments() default {}; /** - * If the property maps to a User-Defined Type (UDT) then this attribute holds the user type name. - * - * For {@link java.util.Collection Collection-like} properties the user type name applies to the component type. - * The user type name is only required if the UDT does not map to a class annotated with {@link UserDefinedType}. + * If the property maps to a User-Defined Type (UDT) then this attribute holds the user type name. For + * {@link java.util.Collection Collection-like} properties the user type name applies to the component type. The user + * type name is only required if the UDT does not map to a class annotated with {@link UserDefinedType}. * * @return {@link String name} of the user type * @since 1.5 diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Element.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Element.java index 2f012561a..20514da7d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Element.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Element.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; @@ -30,6 +31,7 @@ import java.lang.annotation.Target; * @since 2.1 * @see Tuple */ +@Documented @Inherited @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.FIELD, ElementType.METHOD }) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Indexed.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Indexed.java index 443a67419..39451cc3d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Indexed.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Indexed.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -48,6 +49,7 @@ import java.lang.annotation.Target; * @author Mark Paluch * @see Table */ +@Documented @Retention(value = RetentionPolicy.RUNTIME) @Target(value = { ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE, ElementType.TYPE_USE }) public @interface Indexed { diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKey.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKey.java index 358a52141..d46874d98 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKey.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKey.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -38,6 +39,7 @@ import org.springframework.data.annotation.Id; * @see Id * @see PrimaryKeyColumn */ +@Documented @Retention(value = RetentionPolicy.RUNTIME) @Target(value = { ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD }) @Id diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKeyClass.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKeyClass.java index 49ae0299a..337b59d6c 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKeyClass.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKeyClass.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; @@ -34,6 +35,7 @@ import org.springframework.data.annotation.Persistent; * @author Mark Paluch * @see PrimaryKeyColumn */ +@Documented @Inherited @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE }) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKeyColumn.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKeyColumn.java index df3c076ba..e93845290 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKeyColumn.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/PrimaryKeyColumn.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -36,6 +37,7 @@ import org.springframework.data.cassandra.core.cql.PrimaryKeyType; * @see PrimaryKey * @see PrimaryKeyClass */ +@Documented @Retention(value = RetentionPolicy.RUNTIME) @Target(value = { ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD }) public @interface PrimaryKeyColumn { diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/SASI.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/SASI.java index eb6e64672..9fae395b1 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/SASI.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/SASI.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -46,6 +47,7 @@ import org.springframework.core.annotation.AliasFor; * @see StandardAnalyzed * @see NonTokenizingAnalyzed */ +@Documented @Retention(value = RetentionPolicy.RUNTIME) @Target(value = { ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE }) public @interface SASI { @@ -86,7 +88,7 @@ public @interface SASI { * normalization, case sensitivity, skipping common words like "and" and "the", and localization of the language used * to complete the analysis * - * @see org.apache.cassandra.index.sasi.analyzer.StandardAnalyzer. + * @see org.apache.cassandra.index.sasi.analyzer.StandardAnalyzer */ @Retention(value = RetentionPolicy.RUNTIME) @Target(value = { ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE }) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Table.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Table.java index 8f3f1ccb3..9dc5fd826 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Table.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Table.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; @@ -29,6 +30,7 @@ import org.springframework.data.annotation.Persistent; * @author Alex Shvid * @author Matthew T. Adams */ +@Documented @Persistent @Inherited @Retention(RetentionPolicy.RUNTIME) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Tuple.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Tuple.java index 6bdad2469..77105a511 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Tuple.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/Tuple.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; @@ -45,6 +46,7 @@ import java.lang.annotation.Target; * @since 2.1 * @see Element */ +@Documented @Inherited @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE }) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/UserDefinedType.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/UserDefinedType.java index d08b071c2..6f2226e90 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/UserDefinedType.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/UserDefinedType.java @@ -15,6 +15,7 @@ */ package org.springframework.data.cassandra.core.mapping; +import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; @@ -29,6 +30,7 @@ import java.lang.annotation.Target; * @author Mark Paluch * @since 1.5 */ +@Documented @Inherited @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE }) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/AllowFiltering.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/AllowFiltering.java index 7092ad1c0..53b621dfd 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/AllowFiltering.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/AllowFiltering.java @@ -27,9 +27,9 @@ import java.lang.annotation.Target; * @author Mark Paluch * @since 2.0 */ +@Documented @Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE }) @Retention(RetentionPolicy.RUNTIME) -@Documented @Query(allowFiltering = true) public @interface AllowFiltering { } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/Consistency.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/Consistency.java index f549b3d43..f588c75ae 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/Consistency.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/Consistency.java @@ -33,9 +33,9 @@ import com.datastax.driver.core.ConsistencyLevel; * @see org.springframework.data.cassandra.core.cql.QueryOptions * @since 2.0 */ +@Documented @Target({ ElementType.ANNOTATION_TYPE, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) -@Documented @QueryAnnotation public @interface Consistency { diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/CountQuery.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/CountQuery.java index c5f8f1076..c34323319 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/CountQuery.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/CountQuery.java @@ -30,9 +30,9 @@ import org.springframework.core.annotation.AliasFor; * @author Mark Paluch * @since 2.1 */ +@Documented @Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE }) @Retention(RetentionPolicy.RUNTIME) -@Documented @Query(count = true) public @interface CountQuery { diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/ExistsQuery.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/ExistsQuery.java index 5ffa0b2ab..8603e6d41 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/ExistsQuery.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/ExistsQuery.java @@ -30,9 +30,9 @@ import org.springframework.core.annotation.AliasFor; * @author Mark Paluch * @since 2.1 */ +@Documented @Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE }) @Retention(RetentionPolicy.RUNTIME) -@Documented @Query(exists = true) public @interface ExistsQuery { diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/Query.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/Query.java index c3980a377..0208aed7d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/Query.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/Query.java @@ -30,9 +30,9 @@ import org.springframework.data.annotation.QueryAnnotation; * @author Matthew T. Adams * @author Mark Paluch */ +@Documented @Target({ ElementType.ANNOTATION_TYPE, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) -@Documented @QueryAnnotation public @interface Query { diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/EnableCassandraRepositories.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/EnableCassandraRepositories.java index c48c52705..5ed57a678 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/EnableCassandraRepositories.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/EnableCassandraRepositories.java @@ -40,9 +40,9 @@ import org.springframework.data.repository.query.QueryLookupStrategy.Key; * @author Thomas Darimont * @author Christoph Strobl */ +@Documented @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) -@Documented @Inherited @Import(CassandraRepositoriesRegistrar.class) public @interface EnableCassandraRepositories { diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/EnableReactiveCassandraRepositories.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/EnableReactiveCassandraRepositories.java index 7c8b8a41e..f884e32b0 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/EnableReactiveCassandraRepositories.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/config/EnableReactiveCassandraRepositories.java @@ -38,9 +38,9 @@ import org.springframework.data.repository.query.QueryLookupStrategy.Key; * @author Mark Paluch * @since 2.0 */ +@Documented @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) -@Documented @Inherited @Import(ReactiveCassandraRepositoriesRegistrar.class) public @interface EnableReactiveCassandraRepositories {