Class ResourceResolverDelegate

  • All Implemented Interfaces:
    ResourceResolver

    public class ResourceResolverDelegate
    extends Object
    implements ResourceResolver
    Convenience class to allow a ResourceResolver to be implemented as a lambda expression. Needed for C# transpilation, so that ResourceResolvers can be supplied both as classes implementing an interface, and as lambda functions.
    • Constructor Detail

      • ResourceResolverDelegate

        public ResourceResolverDelegate​(Function<ResourceRequest,​Source> lambda)
        Create a ResourceResolver implemented using (typically) a lambda expression
        Parameters:
        lambda - a function, typically supplied as a lambda expression, to map satisfy a ResourceRequest and return a Source. Note that this doesn't mean the resource actually has to be fetched: the returned Source might simply contain a URI.
    • Method Detail

      • resolve

        public Source resolve​(ResourceRequest request)
                       throws XPathException
        Description copied from interface: ResourceResolver
        Process a resource request to deliver a resource
        Specified by:
        resolve in interface ResourceResolver
        Parameters:
        request - the resource request
        Returns:
        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 StreamSource.
        Throws:
        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.