@ProviderType public interface TenantManager
TenantManager
service interface defines the API that
administrative tools will use to created, update or remove Tenants.
The implementation will make use of
TenantCustomizer
services to customize
management of tenants.
Tenant properties can be created, modified, and removed with the
setProperty(Tenant, String, Object)
,
setProperties(Tenant, Map)
and
removeProperties(Tenant, String...)
methods. Please note that every
call to any of these methods causes the
TenantCustomizer
services to be called.
To limit these calls for multiple changes the
setProperties(Tenant, Map)
method should be called.
Modifier and Type | Method and Description |
---|---|
Tenant |
create(java.lang.String tenantId,
java.util.Map<java.lang.String,java.lang.Object> properties)
Creates a new tenant with the given tenant ID and the initial set of
properties.
|
void |
remove(Tenant tenant)
Removes the given tenant.
|
void |
removeProperties(Tenant tenant,
java.lang.String... propertyNames)
Removes one or more properties from the tenant.
|
void |
setProperties(Tenant tenant,
java.util.Map<java.lang.String,java.lang.Object> properties)
Sets or removes multiple properties on the tenant.
|
void |
setProperty(Tenant tenant,
java.lang.String name,
java.lang.Object value)
Sets a single property of the tenant to a new value or removes the
property if the value is
null . |
Tenant create(java.lang.String tenantId, java.util.Map<java.lang.String,java.lang.Object> properties)
After creating the tenant, the
TenantManagerHook.setup(Tenant)
method is called to allow customizers to configure additional properties.
Before returning the newly created tenant object the data is persisted.
tenantId
- The name of the new tenant. This name must not be
null
or an empty string. It must also not be the same
name as that of an existing tenant.properties
- An optional map of initial properties. This may be
null
to not preset any properties. It is recommended,
though, that this map contain at least the
Tenant.PROP_NAME
and Tenant.PROP_DESCRIPTION
properties.Tenant
instance or null
if a tenant
with the id already exists.java.lang.NullPointerException
- if tenantId
is null
.void setProperty(Tenant tenant, java.lang.String name, java.lang.Object value)
null
.
Before returning the
TenantManagerHook.change(Tenant)
method is called to allow customizers to configure additional properties.
tenant
- The tenant whose property is to be set or remove.name
- The name of the property to set or remove.value
- The new value of the property. If this value is null
the property is actually removed.java.lang.NullPointerException
- if tenant
or name
is
null
.void setProperties(Tenant tenant, java.util.Map<java.lang.String,java.lang.Object> properties)
Before returning the
TenantManagerHook.change(Tenant)
method is called to allow customizers to configure additional properties.
tenant
- The tenant whose properties are to be modified.properties
- The map of properties to set or remove. A property
whose value is null
is removed from the tenant.java.lang.NullPointerException
- if tenant
or properties
is
null
.void removeProperties(Tenant tenant, java.lang.String... propertyNames)
Before returning the
TenantManagerHook.change(Tenant)
method is called to allow customizers to configure additional properties
unless the properties
parameter is null
or empty.
tenant
- The tenant from which to remove properties.propertyNames
- The list of properties to be removed. If this is
null
or empty, nothing happens and the
TenantCustomizer
is not
called.java.lang.NullPointerException
- if tenant
is null
.void remove(Tenant tenant)
Before returning the
TenantManagerHook.remove(Tenant)
method is called to allow customizers to implement further cleanup upon
tenant removal.
tenant
- The tenant to remove.java.lang.NullPointerException
- if tenant
is null
Copyright © 2010 - 2020 Adobe. All Rights Reserved