You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2015/05/22 08:51:04 UTC
svn commit: r1681004 - in /sling/trunk/bundles/extensions/models/api: ./
src/main/java/org/apache/sling/models/factory/
src/main/java/org/apache/sling/models/spi/
Author: kwin
Date: Fri May 22 06:51:03 2015
New Revision: 1681004
URL: http://svn.apache.org/r1681004
Log:
SLING-4737 add JSR305 annotations
Modified:
sling/trunk/bundles/extensions/models/api/pom.xml
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/DisposalCallbackRegistry.java
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/ImplementationPicker.java
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/Injector.java
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/package-info.java
Modified: sling/trunk/bundles/extensions/models/api/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api/pom.xml?rev=1681004&r1=1681003&r2=1681004&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/api/pom.xml (original)
+++ sling/trunk/bundles/extensions/models/api/pom.xml Fri May 22 06:51:03 2015
@@ -36,6 +36,11 @@
<developerConnection> scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/api</developerConnection>
<url>http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api</url>
</scm>
+
+ <properties>
+ <sling.java.version>6</sling.java.version>
+ </properties>
+
<build>
<plugins>
<plugin>
@@ -75,5 +80,11 @@
<version>2.5</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>3.0.0</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
</project>
Modified: sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java?rev=1681004&r1=1681003&r2=1681004&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java (original)
+++ sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java Fri May 22 06:51:03 2015
@@ -18,6 +18,8 @@
*/
package org.apache.sling.models.factory;
+import javax.annotation.Nonnull;
+
/**
* The ModelFactory instantiates Sling Model classes similar to adaptTo but is allowed to throw an exception in case
@@ -36,7 +38,7 @@ public interface ModelFactory {
* @throws InvalidValidationModelException in case an invalid validation model was found
* @throws InvalidResourceException in case the resource (for the Sling Model) could not be validated through Sling Validation
*/
- public <ModelType> ModelType createModel(Object adaptable, Class<ModelType> type) throws MissingElementsException,
+ public @Nonnull <ModelType> ModelType createModel(@Nonnull Object adaptable, @Nonnull Class<ModelType> type) throws MissingElementsException,
InvalidAdaptableException, ModelClassException, InvalidValidationModelException, InvalidResourceException;
/**
@@ -46,7 +48,7 @@ public interface ModelFactory {
* @return false in case the given class can not be created from the given adaptable
* @throws ModelClassException in case no class with the Model annotation adapts to the requested type
*/
- public boolean canCreateFromAdaptable(Object adaptable, Class<?> type) throws ModelClassException;
+ public boolean canCreateFromAdaptable(@Nonnull Object adaptable, @Nonnull Class<?> type) throws ModelClassException;
/**
*
@@ -56,5 +58,5 @@ public interface ModelFactory {
*
* @see org.apache.sling.models.annotations.Model
*/
- public boolean isModelClass(Object adaptable, Class<?> type);
+ public boolean isModelClass(@Nonnull Object adaptable, @Nonnull Class<?> type);
}
Modified: sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/DisposalCallbackRegistry.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/DisposalCallbackRegistry.java?rev=1681004&r1=1681003&r2=1681004&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/DisposalCallbackRegistry.java (original)
+++ sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/DisposalCallbackRegistry.java Fri May 22 06:51:03 2015
@@ -16,6 +16,8 @@
*/
package org.apache.sling.models.spi;
+import javax.annotation.Nonnull;
+
/**
* Interface which allows for the registration of DisposalCallback listeners.
* This interface should not be implemnted by clients.
@@ -27,6 +29,6 @@ public interface DisposalCallbackRegistr
*
* @param callback the callback to register
*/
- void addDisposalCallback(DisposalCallback callback);
+ void addDisposalCallback(@Nonnull DisposalCallback callback);
}
Modified: sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/ImplementationPicker.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/ImplementationPicker.java?rev=1681004&r1=1681003&r2=1681004&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/ImplementationPicker.java (original)
+++ sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/ImplementationPicker.java Fri May 22 06:51:03 2015
@@ -18,6 +18,9 @@
*/
package org.apache.sling.models.spi;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+
/**
* Defines a strategy to choose an implementation for a model if multiple are registered
* for the same interface or super class.
@@ -43,6 +46,6 @@ public interface ImplementationPicker {
* @param adaptable For reference: the adaptable. May be enquired to detect the context of the adaption. Never null.
* @return If an implementation is chosen the class is returned, otherwise null.
*/
- Class<?> pick(Class<?> adapterType, Class<?>[] implementationsTypes, Object adaptable);
+ @CheckForNull Class<?> pick(@Nonnull Class<?> adapterType, @Nonnull Class<?>[] implementationsTypes, @Nonnull Object adaptable);
}
Modified: sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/Injector.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/Injector.java?rev=1681004&r1=1681003&r2=1681004&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/Injector.java (original)
+++ sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/Injector.java Fri May 22 06:51:03 2015
@@ -19,6 +19,9 @@ package org.apache.sling.models.spi;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Type;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+
/**
* Service interface for pluggable value injectors.
*/
@@ -29,7 +32,7 @@ public interface Injector {
*
* @return the injector's name
*/
- String getName();
+ @Nonnull String getName();
/**
* Produce a value for an injection point.
@@ -43,5 +46,5 @@ public interface Injector {
*
* @return the value to be injected or null if no value could be resolved
*/
- Object getValue(Object adaptable, String name, Type declaredType, AnnotatedElement element, DisposalCallbackRegistry callbackRegistry);
+ @CheckForNull Object getValue(@Nonnull Object adaptable, @Nonnull String name, @Nonnull Type declaredType, @Nonnull AnnotatedElement element, @Nonnull DisposalCallbackRegistry callbackRegistry);
}
\ No newline at end of file
Modified: sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/package-info.java?rev=1681004&r1=1681003&r2=1681004&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/package-info.java (original)
+++ sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/spi/package-info.java Fri May 22 06:51:03 2015
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-@Version("1.0.2")
+@Version("1.0.3")
package org.apache.sling.models.spi;
import aQute.bnd.annotation.Version;
\ No newline at end of file