- All Known Implementing Classes:
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface ResourceResolverInterface for processing a resource request to deliver a resource
It is a common feature of existing resolver APIs that they chain together. For example, it is often the case that when a new
EntityResolveris added to an
XMLReader, it is configured so that the existing (possibly underlying, implementation defined) resolver will be called if the newly specified resolver fails to resolve the URI. Two
ResourceResolverscan be chained together into a single
ResourceResolverby using the
The resolver methods in this class will generally return
nullif the requested resource could not be found. If instead the caller wants a failure to get the resource to be treated as an error, it is possible to request this by setting a property on the
The usual mechanism for resolving a URI is to create a
ResourceRequest, and pass it to a sequence of
ResourceResolvers using the method
ResourceRequest.resolve(net.sf.saxon.lib.ResourceResolver...). This will invoke each resolver in turn until one of them returns a non-null result.
javax.xml.transform.Source resolve(ResourceRequest request) throws XPathExceptionProcess a resource request to deliver a resource
request- the resource request
- the returned Source; or null to delegate resolution to another resolver. The type of Source
must correspond to the type of resource requested: for non-XML resources, it should generally be a
XPathException- if the request is invalid in some way, or if the identified resource is unsuitable, or if resolution is to fail rather than being delegated to another resolver.