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