Class ResourceResolver
- java.lang.Object
-
- org.apache.xml.security.utils.resolver.ResourceResolver
-
public class ResourceResolver extends java.lang.ObjectDuring 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 booleanallowUnsafeResourceResolvingprivate static org.slf4j.LoggerLOGprivate static java.util.List<ResourceResolver>resolverListthese are the system-wide resolversprivate ResourceResolverSpiresolverSpiField 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 voidaddProperties(java.util.Map<java.lang.String,java.lang.String> properties)Method addPropertiesprivate booleancanResolve(ResourceResolverContext context)Method canResolvestatic ResourceResolvergetInstance(org.w3c.dom.Attr uriAttr, java.lang.String baseURI, boolean secureValidation)Method getInstancestatic ResourceResolvergetInstance(org.w3c.dom.Attr uri, java.lang.String baseURI, java.util.List<ResourceResolver> individualResolvers)Method getInstancestatic ResourceResolvergetInstance(org.w3c.dom.Attr uri, java.lang.String baseURI, java.util.List<ResourceResolver> individualResolvers, boolean secureValidation)Method getInstancejava.lang.StringgetProperty(java.lang.String key)Method getPropertyjava.lang.String[]getPropertyKeys()Method getPropertyKeysprivate static <N> ResourceResolverinternalGetInstance(ResourceResolverContext context)static booleanisURISafeToResolve(org.w3c.dom.Attr uriAttr, java.lang.String baseUri)static voidregister(java.lang.Class<? extends ResourceResolverSpi> className, boolean start)Registers a ResourceResolverSpi class.static voidregister(java.lang.String className)Registers a ResourceResolverSpi class.static voidregister(ResourceResolverSpi resourceResolverSpi, boolean start)Registers a ResourceResolverSpi instance.static voidregisterAtStart(java.lang.String className)Registers a ResourceResolverSpi class at the beginning of the provider list.static voidregisterDefaultResolvers()This method registers the default resolvers.XMLSignatureInputresolve(org.w3c.dom.Attr uri, java.lang.String baseURI, boolean secureValidation)Method resolvevoidsetProperty(java.lang.String key, java.lang.String value)Method setPropertybooleanunderstandsProperty(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
-
-