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 <[email protected]> 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 "[email protected]" <[email protected]>.
