You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:54:54 UTC
[sling-org-apache-sling-models-api] 14/34: SLING-4112 Sling Models:
Optimize performance when read sling models annotations
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.models.api-1.2.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-models-api.git
commit ba862dacf9dc8e4354585914700978e9e2d6a707
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Thu Nov 13 13:51:33 2014 +0000
SLING-4112 Sling Models: Optimize performance when read sling models annotations
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/api@1639323 13f79535-47bb-0310-9956-ffa450edef68
---
.../injectorspecific/AbstractInjectAnnotationProcessor.java | 3 +--
.../injectorspecific/InjectAnnotationProcessorFactory.java | 6 ++++++
...tory.java => StaticInjectAnnotationProcessorFactory.java} | 12 +++++++++---
.../sling/models/spi/injectorspecific/package-info.java | 2 +-
4 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.java b/src/main/java/org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.java
index 9354463..692a53b 100644
--- a/src/main/java/org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.java
+++ b/src/main/java/org/apache/sling/models/spi/injectorspecific/AbstractInjectAnnotationProcessor.java
@@ -17,8 +17,7 @@
package org.apache.sling.models.spi.injectorspecific;
/**
- * Default implementation of ModelAnnotationProcessor.
- *
+ * Default implementation of {@link InjectAnnotationProcessor}.
*/
public class AbstractInjectAnnotationProcessor implements InjectAnnotationProcessor {
diff --git a/src/main/java/org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.java b/src/main/java/org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.java
index 326694e..831e593 100644
--- a/src/main/java/org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.java
+++ b/src/main/java/org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.java
@@ -18,7 +18,12 @@ package org.apache.sling.models.spi.injectorspecific;
import java.lang.reflect.AnnotatedElement;
+/**
+ * Factory for {@link InjectAnnotationProcessor} that is evaluated at runtime for each
+ * sling model adaption and may depend on the adaptable.
+ */
public interface InjectAnnotationProcessorFactory {
+
/**
*
* @param adaptable the object from which this model is adapted
@@ -28,4 +33,5 @@ public interface InjectAnnotationProcessorFactory {
* null
*/
InjectAnnotationProcessor createAnnotationProcessor(Object adaptable, AnnotatedElement element);
+
}
diff --git a/src/main/java/org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.java b/src/main/java/org/apache/sling/models/spi/injectorspecific/StaticInjectAnnotationProcessorFactory.java
similarity index 75%
copy from src/main/java/org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.java
copy to src/main/java/org/apache/sling/models/spi/injectorspecific/StaticInjectAnnotationProcessorFactory.java
index 326694e..a3eff7d 100644
--- a/src/main/java/org/apache/sling/models/spi/injectorspecific/InjectAnnotationProcessorFactory.java
+++ b/src/main/java/org/apache/sling/models/spi/injectorspecific/StaticInjectAnnotationProcessorFactory.java
@@ -18,14 +18,20 @@ package org.apache.sling.models.spi.injectorspecific;
import java.lang.reflect.AnnotatedElement;
-public interface InjectAnnotationProcessorFactory {
+/**
+ * Factory for {@link InjectAnnotationProcessor} that is evaluated once
+ * a sling model implementation class is registered.
+ * Whenever possible this interface should be favored above {@link InjectAnnotationProcessorFactory}.
+ */
+public interface StaticInjectAnnotationProcessorFactory {
+
/**
*
- * @param adaptable the object from which this model is adapted
* @param element the field or method which is annotated
* @return a ModelAnnotationProcessor in case there is a known
* injector-specific annotation on the given element found otherwise
* null
*/
- InjectAnnotationProcessor createAnnotationProcessor(Object adaptable, AnnotatedElement element);
+ InjectAnnotationProcessor createAnnotationProcessor(AnnotatedElement element);
+
}
diff --git a/src/main/java/org/apache/sling/models/spi/injectorspecific/package-info.java b/src/main/java/org/apache/sling/models/spi/injectorspecific/package-info.java
index e9d341c..6c61a09 100644
--- a/src/main/java/org/apache/sling/models/spi/injectorspecific/package-info.java
+++ b/src/main/java/org/apache/sling/models/spi/injectorspecific/package-info.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-@Version("1.0.0")
+@Version("1.1.0")
package org.apache.sling.models.spi.injectorspecific;
import aQute.bnd.annotation.Version;
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.