@ConsumerType @Deprecated public interface ResourceProviderFactory
ResourceProviderFactory defines the service API to get and
create ResourceProviderss dynamically on a per usage base.
Instead of sharing a resource provider between resource resolvers, the
factory allows to create an own instance of a resource provider per resource
resolver. The factory also supports authentication.
If the resource provider is not used anymore and implements the
DynamicResourceProvider interface, the close method should be called.
| Modifier and Type | Field and Description |
|---|---|
static String |
PROPERTY_REQUIRED
Deprecated.
A required resource provider factory is accessed directly when a new
resource resolver is created.
|
static String |
SERVICE_BUNDLE
Deprecated.
The authentication information property referring to the bundle
providing a service for which a resource provider is to be retrieved.
|
| Modifier and Type | Method and Description |
|---|---|
ResourceProvider |
getAdministrativeResourceProvider(Map<String,Object> authenticationInfo)
Deprecated.
as of 2.4 (bundle version 2.5.0) because of inherent security
issues. Implementations may implement this method at their
discretion but must support the new service based resource
provider generation in the
getResourceProvider(Map)
method honoring the SERVICE_BUNDLE and
ResourceResolverFactory.SUBSERVICE properties. |
ResourceProvider |
getResourceProvider(Map<String,Object> authenticationInfo)
Deprecated.
Returns a new
ResourceProvider instance with further
configuration taken from the given authenticationInfo map. |
static final String PROPERTY_REQUIRED
false.static final String SERVICE_BUNDLE
ResourceResolverFactory.SUBSERVICE property may also be
present.
ResourceResolverFactory implementations must provide this
property if their implementation of the
ResourceResolverFactory.getServiceResourceResolver(Map) method
use a resource provider factory.
The type of this property, if present, is
org.osgi.framework.Bundle.
@Nonnull ResourceProvider getResourceProvider(Map<String,Object> authenticationInfo) throws LoginException
ResourceProvider instance with further
configuration taken from the given authenticationInfo map.
Generally this map will contain a user name and password to authenticate.
The authenticationInfo map will in general contain the same
information as provided to the respective ResourceResolver
method. For
If the authenticationInfo map is null the
ResourceProvider returned will generally not be
authenticated and only provide minimal privileges, if any at all.
Implementations must ignore the ResourceResolverFactory.USER
property the SERVICE_BUNDLE property is provided to implement
service authentication.
The ResourceResolverFactory.USER_IMPERSONATION property is
obeyed but requires that the actual user has permission to impersonate as
the requested user. If such permission is missing, a
LoginException is thrown.
authenticationInfo - A map of further credential information which
may be used by the implementation to parameterize how the
resource provider is created. This may be null.ResourceProvider according to the
authenticationInfo.LoginException - If an error occurs creating the new
ResourceProvider with the provided credential
data.@Deprecated @Nonnull ResourceProvider getAdministrativeResourceProvider(Map<String,Object> authenticationInfo) throws LoginException
getResourceProvider(Map)
method honoring the SERVICE_BUNDLE and
ResourceResolverFactory.SUBSERVICE properties.ResourceProvider instance with administrative
privileges with further configuration taken from the given
authenticationInfo map.
Note, that if the authenticationInfo map contains the
ResourceResolverFactory.USER_IMPERSONATION attribute the
ResourceProvider returned will only have administrative
privileges if the user identified by the property has administrative
privileges.
Implementations of this method should throw LoginException if
they don't support it.
authenticationInfo - A map of further credential information which
may be used by the implementation to parameterize how the
resource provider is created. This may be null.ResourceProvider with administrative privileges unless
the ResourceResolverFactory.USER_IMPERSONATION was set in
the authenticationInfo.LoginException - If an error occurs creating the new
ResourceResolverFactory with the provided
credential data.Copyright © 2017 The Apache Software Foundation. All rights reserved.