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 10:16:44 UTC

[sling-org-apache-sling-tenant] 10/18: Declare implementation concept for TenantProvider and -Customizer:

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

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

commit 3d19cf839e0c0860c6b9570a05e8fedf86b818f6
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Fri Mar 1 08:01:05 2013 +0000

    Declare implementation concept for TenantProvider and -Customizer:
    
    - Provider not to be implemented by consumers
    - Customizer to be implemented by consumers
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/tenant@1451513 13f79535-47bb-0310-9956-ffa450edef68
---
 .../java/org/apache/sling/tenant/TenantProvider.java  | 19 ++++++++++++++-----
 .../org/apache/sling/tenant/spi/TenantCustomizer.java |  3 +++
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/apache/sling/tenant/TenantProvider.java b/src/main/java/org/apache/sling/tenant/TenantProvider.java
index 345b766..b491deb 100644
--- a/src/main/java/org/apache/sling/tenant/TenantProvider.java
+++ b/src/main/java/org/apache/sling/tenant/TenantProvider.java
@@ -20,6 +20,8 @@ package org.apache.sling.tenant;
 
 import java.util.Iterator;
 
+import aQute.bnd.annotation.ProviderType;
+
 /**
  * The <code>TenantProvider</code> defines the service interface of for a sevice
  * which may be asked for {@link Tenant tenant instances}.
@@ -27,6 +29,7 @@ import java.util.Iterator;
  * For now this provider interface provides access to a tenant applying to a
  * particular request as well as to all tenants known to this provider.
  */
+@ProviderType
 public interface TenantProvider {
 
     /**
@@ -38,6 +41,9 @@ public interface TenantProvider {
     /**
      * Returns an iterator of all {@link Tenant tenants} known to this provider.
      * If no tenants are known the iterator is empty.
+     * <p>
+     * This method is equivalent to calling {@link #getTenants(String)} with
+     * {@code null} or an empty string.
      */
     Iterator<Tenant> getTenants();
 
@@ -46,14 +52,17 @@ public interface TenantProvider {
      * <code>tenantFilter</code>.
      * <p>
      * The <code>tenantFilter</code> is a valid OSGi filter string as defined in
-     * Section 3.2.6, Filter Syntax, of the OSGi Core Specification, Release 4.
+     * Section 3.2.6, Filter Syntax, of the OSGi Core Specification, Release 4
+     * or {@code null} to return all tenants.
+     * <p>
+     * Calling this method with an empty string or {@code null} is equivalent to
+     * calling the {@link #getTenants()} method and returns all tenants.
      * <p>
-     * If no tenants match the <code>tenantFilter</code> or the
-     * <code>tenantFilter</code> is not a valid filter string the iterator is
-     * empty.
+     * If no tenants match the <code>tenantFilter</code> the iterator is empty.
+     * {@code null} is never returned.
      *
      * @throws IllegalArgumentException if filter syntax is invalid. A more
-     *      detailed exception may be wrapped by the exception.
+     *             detailed exception may be wrapped by the exception.
      */
     Iterator<Tenant> getTenants(String tenantFilter);
 }
diff --git a/src/main/java/org/apache/sling/tenant/spi/TenantCustomizer.java b/src/main/java/org/apache/sling/tenant/spi/TenantCustomizer.java
index f25edf6..d4ab46f 100644
--- a/src/main/java/org/apache/sling/tenant/spi/TenantCustomizer.java
+++ b/src/main/java/org/apache/sling/tenant/spi/TenantCustomizer.java
@@ -23,10 +23,13 @@ import java.util.Map;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.tenant.Tenant;
 
+import aQute.bnd.annotation.ConsumerType;
+
 /**
  * This is a service interface which services are called by the WebConsole
  * plugin (or admin tool) to complete the Tenant setup.
  */
+@ConsumerType
 public interface TenantCustomizer {
 
     /**

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.