SLING-7798 Switch from JSR-305 annotations to JetBrains Nullable/NotNull annotations
diff --git a/pom.xml b/pom.xml
index ea4ca9c..64a3898 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,8 +51,9 @@
<dependencies>
<dependency>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ <version>16.0.2</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/src/main/java/org/apache/sling/caconfig/ConfigurationBuilder.java b/src/main/java/org/apache/sling/caconfig/ConfigurationBuilder.java
index be06432..b93ed82 100644
--- a/src/main/java/org/apache/sling/caconfig/ConfigurationBuilder.java
+++ b/src/main/java/org/apache/sling/caconfig/ConfigurationBuilder.java
@@ -20,9 +20,8 @@
import java.util.Collection;
-import javax.annotation.Nonnull;
-
import org.apache.sling.api.resource.ValueMap;
+import org.jetbrains.annotations.NotNull;
import org.osgi.annotation.versioning.ProviderType;
/**
@@ -37,7 +36,7 @@
* @param configName Relative path
* @return Configuration builder
*/
- @Nonnull ConfigurationBuilder name(@Nonnull String configName);
+ @NotNull ConfigurationBuilder name(@NotNull String configName);
/**
* Get configuration as singleton resource and its properties mapped to the given annotation class.
@@ -47,7 +46,7 @@
* @param <T> Annotation class type
* @return Configuration object. Contains only the default values if content resource or configuration cannot be found.
*/
- @Nonnull <T> T as(@Nonnull Class<T> clazz);
+ @NotNull <T> T as(@NotNull Class<T> clazz);
/**
* Get collection of configuration resources with their properties mapped to the given annotation class.
@@ -57,19 +56,19 @@
* @param <T> Annotation class type
* @return Collection of configuration objects. Is empty if content resource or configuration cannot be found.
*/
- @Nonnull <T> Collection<T> asCollection(@Nonnull Class<T> clazz);
+ @NotNull <T> Collection<T> asCollection(@NotNull Class<T> clazz);
/**
* Get configuration as singleton resource and return its properties as value map.
* @return Value map. Map is empty if content resource or configuration cannot be found.
*/
- @Nonnull ValueMap asValueMap();
+ @NotNull ValueMap asValueMap();
/**
* Get collection of configuration resources with their properties mapped to the given annotation class.
* @return Collection of value map. Is empty if content resource or configuration cannot be found.
*/
- @Nonnull Collection<ValueMap> asValueMapCollection();
+ @NotNull Collection<ValueMap> asValueMapCollection();
/**
* Get configuration as singleton configuration resource and adapt it to the given class.
@@ -77,7 +76,7 @@
* @param <T> Annotation class type
* @return Object instance or null if content resource or configuration cannot be found or if the adaption was not possible.
*/
- <T> T asAdaptable(@Nonnull Class<T> clazz);
+ <T> T asAdaptable(@NotNull Class<T> clazz);
/**
* Get collection of configuration resources and adapt them to the given class.
@@ -85,6 +84,6 @@
* @param <T> Annotation class type
* @return Collection of object instances. Is empty if content resource or configuration cannot be found or if the adaption was not possible.
*/
- @Nonnull <T> Collection<T> asAdaptableCollection(@Nonnull Class<T> clazz);
+ @NotNull <T> Collection<T> asAdaptableCollection(@NotNull Class<T> clazz);
}
diff --git a/src/main/java/org/apache/sling/caconfig/ConfigurationResolver.java b/src/main/java/org/apache/sling/caconfig/ConfigurationResolver.java
index 885daf4..6ffd444 100644
--- a/src/main/java/org/apache/sling/caconfig/ConfigurationResolver.java
+++ b/src/main/java/org/apache/sling/caconfig/ConfigurationResolver.java
@@ -18,9 +18,8 @@
*/
package org.apache.sling.caconfig;
-import javax.annotation.Nonnull;
-
import org.apache.sling.api.resource.Resource;
+import org.jetbrains.annotations.NotNull;
import org.osgi.annotation.versioning.ProviderType;
/**
@@ -41,6 +40,6 @@
* @param resource Context resource
* @return Configuration builder
*/
- @Nonnull ConfigurationBuilder get(@Nonnull Resource resource);
+ @NotNull ConfigurationBuilder get(@NotNull Resource resource);
}
diff --git a/src/main/java/org/apache/sling/caconfig/package-info.java b/src/main/java/org/apache/sling/caconfig/package-info.java
index 5a7580a..92feabe 100644
--- a/src/main/java/org/apache/sling/caconfig/package-info.java
+++ b/src/main/java/org/apache/sling/caconfig/package-info.java
@@ -19,5 +19,5 @@
/**
* API for accessing context-aware configuration.
*/
-@org.osgi.annotation.versioning.Version("1.0.0")
+@org.osgi.annotation.versioning.Version("1.0.1")
package org.apache.sling.caconfig;
diff --git a/src/main/java/org/apache/sling/caconfig/resource/ConfigurationResourceResolver.java b/src/main/java/org/apache/sling/caconfig/resource/ConfigurationResourceResolver.java
index 12f13c3..65b7b14 100644
--- a/src/main/java/org/apache/sling/caconfig/resource/ConfigurationResourceResolver.java
+++ b/src/main/java/org/apache/sling/caconfig/resource/ConfigurationResourceResolver.java
@@ -20,10 +20,9 @@
import java.util.Collection;
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
-
import org.apache.sling.api.resource.Resource;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import org.osgi.annotation.versioning.ProviderType;
/**
@@ -45,7 +44,7 @@
* @param configName Configuration name or relative path.
* @return Configuration resource or {@code null}.
*/
- @CheckForNull Resource getResource(@Nonnull Resource resource, @Nonnull String bucketName, @Nonnull String configName);
+ @Nullable Resource getResource(@NotNull Resource resource, @NotNull String bucketName, @NotNull String configName);
/**
* Get a collection of context-aware configuration resources defined by the given configuration name.
@@ -56,14 +55,14 @@
* @param configName Configuration name or relative path.
* @return Collection of configuration resources, the collection might be empty.
*/
- @Nonnull Collection<Resource> getResourceCollection(@Nonnull Resource resource, @Nonnull String bucketName, @Nonnull String configName);
+ @NotNull Collection<Resource> getResourceCollection(@NotNull Resource resource, @NotNull String bucketName, @NotNull String configName);
/**
* Get the inner-most context path (deepest path) returned by {@link #getAllContextPaths(Resource)}.
* @param resource Context resource to fetch configuration for
* @return Context path or null
*/
- String getContextPath(@Nonnull Resource resource);
+ String getContextPath(@NotNull Resource resource);
/**
* Get all context paths for which context-aware configurations could be defined.
@@ -72,6 +71,6 @@
* @param resource Context resource to fetch configuration for
* @return List of context paths
*/
- @Nonnull Collection<String> getAllContextPaths(@Nonnull Resource resource);
+ @NotNull Collection<String> getAllContextPaths(@NotNull Resource resource);
}
diff --git a/src/main/java/org/apache/sling/caconfig/resource/package-info.java b/src/main/java/org/apache/sling/caconfig/resource/package-info.java
index ef04a94..6577b50 100644
--- a/src/main/java/org/apache/sling/caconfig/resource/package-info.java
+++ b/src/main/java/org/apache/sling/caconfig/resource/package-info.java
@@ -20,5 +20,5 @@
* API for accessing context-aware configuration resources.
* This is a low-level API.
*/
-@org.osgi.annotation.versioning.Version("1.0.0")
+@org.osgi.annotation.versioning.Version("1.0.1")
package org.apache.sling.caconfig.resource;