Class ResourceResolver
- java.lang.Object
-
- org.apache.xml.security.utils.resolver.ResourceResolver
-
public class ResourceResolver extends java.lang.Object
During reference validation, we have to retrieve resources from somewhere. This is done by retrieving a Resolver. The resolver needs two arguments: The URI in which the link to the new resource is defined and the baseURI of the file/entity in which the URI occurs (the baseURI is the same as the SystemId).
-
-
Field Summary
Fields Modifier and Type Field Description private static boolean
allowUnsafeResourceResolving
private static org.slf4j.Logger
LOG
private static java.util.List<ResourceResolver>
resolverList
these are the system-wide resolversprivate ResourceResolverSpi
resolverSpi
Field resolverSpi
-
Constructor Summary
Constructors Constructor Description ResourceResolver(ResourceResolverSpi resourceResolver)
Constructor ResourceResolver
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addProperties(java.util.Map<java.lang.String,java.lang.String> properties)
Method addPropertiesprivate boolean
canResolve(ResourceResolverContext context)
Method canResolvestatic ResourceResolver
getInstance(org.w3c.dom.Attr uriAttr, java.lang.String baseURI, boolean secureValidation)
Method getInstancestatic ResourceResolver
getInstance(org.w3c.dom.Attr uri, java.lang.String baseURI, java.util.List<ResourceResolver> individualResolvers)
Method getInstancestatic ResourceResolver
getInstance(org.w3c.dom.Attr uri, java.lang.String baseURI, java.util.List<ResourceResolver> individualResolvers, boolean secureValidation)
Method getInstancejava.lang.String
getProperty(java.lang.String key)
Method getPropertyjava.lang.String[]
getPropertyKeys()
Method getPropertyKeysprivate static <N> ResourceResolver
internalGetInstance(ResourceResolverContext context)
static boolean
isURISafeToResolve(org.w3c.dom.Attr uriAttr, java.lang.String baseUri)
static void
register(java.lang.Class<? extends ResourceResolverSpi> className, boolean start)
Registers a ResourceResolverSpi class.static void
register(java.lang.String className)
Registers a ResourceResolverSpi class.static void
register(ResourceResolverSpi resourceResolverSpi, boolean start)
Registers a ResourceResolverSpi instance.static void
registerAtStart(java.lang.String className)
Registers a ResourceResolverSpi class at the beginning of the provider list.static void
registerDefaultResolvers()
This method registers the default resolvers.XMLSignatureInput
resolve(org.w3c.dom.Attr uri, java.lang.String baseURI, boolean secureValidation)
Method resolvevoid
setProperty(java.lang.String key, java.lang.String value)
Method setPropertyboolean
understandsProperty(java.lang.String propertyToTest)
Method understandsProperty
-
-
-
Field Detail
-
allowUnsafeResourceResolving
private static boolean allowUnsafeResourceResolving
-
LOG
private static final org.slf4j.Logger LOG
-
resolverList
private static final java.util.List<ResourceResolver> resolverList
these are the system-wide resolvers
-
resolverSpi
private final ResourceResolverSpi resolverSpi
Field resolverSpi
-
-
Constructor Detail
-
ResourceResolver
public ResourceResolver(ResourceResolverSpi resourceResolver)
Constructor ResourceResolver- Parameters:
resourceResolver
-
-
-
Method Detail
-
getInstance
public static final ResourceResolver getInstance(org.w3c.dom.Attr uriAttr, java.lang.String baseURI, boolean secureValidation) throws ResourceResolverException
Method getInstance- Parameters:
uriAttr
-baseURI
-secureValidation
-- Returns:
- the instance
- Throws:
ResourceResolverException
-
internalGetInstance
private static <N> ResourceResolver internalGetInstance(ResourceResolverContext context) throws ResourceResolverException
- Throws:
ResourceResolverException
-
getInstance
public static ResourceResolver getInstance(org.w3c.dom.Attr uri, java.lang.String baseURI, java.util.List<ResourceResolver> individualResolvers) throws ResourceResolverException
Method getInstance- Parameters:
uri
-baseURI
-individualResolvers
-- Returns:
- the instance
- Throws:
ResourceResolverException
-
getInstance
public static ResourceResolver getInstance(org.w3c.dom.Attr uri, java.lang.String baseURI, java.util.List<ResourceResolver> individualResolvers, boolean secureValidation) throws ResourceResolverException
Method getInstance- Parameters:
uri
-baseURI
-individualResolvers
-secureValidation
-- Returns:
- the instance
- Throws:
ResourceResolverException
-
register
public static void register(java.lang.String className)
Registers a ResourceResolverSpi class. This method LOGs a warning if the class cannot be registered.- Parameters:
className
- the name of the ResourceResolverSpi class to be registered- Throws:
java.lang.SecurityException
- if a security manager is installed and the caller does not have permission to register a resource resolver
-
registerAtStart
public static void registerAtStart(java.lang.String className)
Registers a ResourceResolverSpi class at the beginning of the provider list. This method LOGs a warning if the class cannot be registered.- Parameters:
className
- the name of the ResourceResolverSpi class to be registered- Throws:
java.lang.SecurityException
- if a security manager is installed and the caller does not have permission to register a resource resolver
-
register
public static void register(java.lang.Class<? extends ResourceResolverSpi> className, boolean start)
Registers a ResourceResolverSpi class. This method LOGs a warning if the class cannot be registered.- Parameters:
className
-start
-- Throws:
java.lang.SecurityException
- if a security manager is installed and the caller does not have permission to register a resource resolver
-
register
public static void register(ResourceResolverSpi resourceResolverSpi, boolean start)
Registers a ResourceResolverSpi instance. This method LOGs a warning if the class cannot be registered.- Parameters:
resourceResolverSpi
-start
-- Throws:
java.lang.SecurityException
- if a security manager is installed and the caller does not have permission to register a resource resolver
-
registerDefaultResolvers
public static void registerDefaultResolvers()
This method registers the default resolvers.
-
resolve
public XMLSignatureInput resolve(org.w3c.dom.Attr uri, java.lang.String baseURI, boolean secureValidation) throws ResourceResolverException
Method resolve- Parameters:
uri
-baseURI
-- Returns:
- the resource
- Throws:
ResourceResolverException
-
setProperty
public void setProperty(java.lang.String key, java.lang.String value)
Method setProperty- Parameters:
key
-value
-
-
getProperty
public java.lang.String getProperty(java.lang.String key)
Method getProperty- Parameters:
key
-- Returns:
- the value of the property
-
addProperties
public void addProperties(java.util.Map<java.lang.String,java.lang.String> properties)
Method addProperties- Parameters:
properties
-
-
getPropertyKeys
public java.lang.String[] getPropertyKeys()
Method getPropertyKeys- Returns:
- all property keys.
-
understandsProperty
public boolean understandsProperty(java.lang.String propertyToTest)
Method understandsProperty- Parameters:
propertyToTest
-- Returns:
- true if the resolver understands the property
-
isURISafeToResolve
public static boolean isURISafeToResolve(org.w3c.dom.Attr uriAttr, java.lang.String baseUri)
-
canResolve
private boolean canResolve(ResourceResolverContext context)
Method canResolve- Parameters:
context
-- Returns:
- true if it can resolve the uri
-
-