This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.distribution.api-0.1.0
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-api.git

commit 88a73b76241e7146d63e7d6bb4f76d013490680a
Author: Marius Petria <[email protected]>
AuthorDate: Wed Nov 19 11:42:32 2014 +0000

    SLING-4153: Making DistributionComponentFactory delegate creation of 
subcomponents
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/api@1640532
 13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/distribution/component/DistributionComponentFactory.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
 
b/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
index 8414138..bb18225 100644
--- 
a/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
+++ 
b/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
@@ -29,6 +29,7 @@ import aQute.bnd.annotation.ProviderType;
 /**
  * factory for {@link DistributionComponent}s.
  * A client should register a component factory if it has custom 
implementations of distribution components.
+ * As components are hierarchical a factory can delegate the creation of its 
sub components to another factory.
  */
 @ConsumerType
 public interface DistributionComponentFactory {
@@ -41,10 +42,12 @@ public interface DistributionComponentFactory {
      * @param properties        the properties to be supplied for the 
initialization of the component
      * @param <ComponentType>   the actual type of the {@link 
DistributionComponent}
      *                          to be created
+     * @param subComponentFactory   the factory to be called for creating sub 
components
      * @return a {@link DistributionComponent} of the specified type 
initialized with given properties or <code>null</code>
      * if that could not be created
      */
     @CheckForNull
     <ComponentType extends DistributionComponent> ComponentType 
createComponent(@Nonnull java.lang.Class<ComponentType> type,
-                                                                               
@Nonnull Map<String, Object> properties);
+                                                                               
@Nonnull Map<String, Object> properties,
+                                                                               
@Nullable DistributionComponentFactory subComponentFactory);
 }

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to