Class SimpleLSResourceResolver

  • All Implemented Interfaces:
    com.helger.commons.lang.IHasClassLoader, LSResourceResolver

    public class SimpleLSResourceResolver
    extends AbstractLSResourceResolver
    implements com.helger.commons.lang.IHasClassLoader
    A simple LS resource resolver that can handle URLs, JAR files and file system resources.
    Author:
    Philip Helger
    • Constructor Detail

      • SimpleLSResourceResolver

        public SimpleLSResourceResolver()
    • Method Detail

      • getClassLoader

        @Nullable
        public ClassLoader getClassLoader()
        Specified by:
        getClassLoader in interface com.helger.commons.lang.IHasClassLoader
      • internalResolveResource

        @OverrideOnDemand
        @Nullable
        protected com.helger.commons.io.resource.IReadableResource internalResolveResource​(@Nonnull @Nonempty
                                                                                           String sType,
                                                                                           @Nullable
                                                                                           String sNamespaceURI,
                                                                                           @Nullable
                                                                                           String sPublicId,
                                                                                           @Nullable
                                                                                           String sSystemId,
                                                                                           @Nullable
                                                                                           String sBaseURI)
                                                                                    throws Exception
        Internal resource resolving
        Parameters:
        sType - The type of the resource being resolved. For XML [ XML 1.0] resources (i.e. entities), applications must use the value "http://www.w3.org/TR/REC-xml". For XML Schema [ XML Schema Part 1] , applications must use the value "http://www.w3.org/2001/XMLSchema". Other types of resources are outside the scope of this specification and therefore should recommend an absolute URI in order to use this method.
        sNamespaceURI - The namespace of the resource being resolved, e.g. the target namespace of the XML Schema [ XML Schema Part 1] when resolving XML Schema resources.
        sPublicId - The public identifier of the external entity being referenced, or null if no public identifier was supplied or if the resource is not an entity.
        sSystemId - the path of the resource to find - may be relative to the including resource. The system identifier, a URI reference [ IETF RFC 2396], of the external resource being referenced, or null if no system identifier was supplied.
        sBaseURI - The systemId of the including resource.The absolute base URI of the resource being parsed, or null if there is no base URI.
        Returns:
        null if the resource could not be resolved.
        Throws:
        Exception - in case something goes wrong
      • mainResolveResource

        @Nullable
        public final LSInput mainResolveResource​(@Nonnull @Nonempty
                                                 String sType,
                                                 @Nullable
                                                 String sNamespaceURI,
                                                 @Nullable
                                                 String sPublicId,
                                                 @Nullable
                                                 String sSystemId,
                                                 @Nullable
                                                 String sBaseURI)
        Resolve a resource with the passed parameters
        Specified by:
        mainResolveResource in class AbstractLSResourceResolver
        Parameters:
        sType - The type of the resource being resolved. For XML [ XML 1.0] resources (i.e. entities), applications must use the value "http://www.w3.org/TR/REC-xml". For XML Schema [ XML Schema Part 1] , applications must use the value "http://www.w3.org/2001/XMLSchema". Other types of resources are outside the scope of this specification and therefore should recommend an absolute URI in order to use this method.
        sNamespaceURI - The namespace of the resource being resolved, e.g. the target namespace of the XML Schema [ XML Schema Part 1] when resolving XML Schema resources.
        sPublicId - The public identifier of the external entity being referenced, or null if no public identifier was supplied or if the resource is not an entity.
        sSystemId - the path of the resource to find - may be relative to the including resource. The system identifier, a URI reference [ IETF RFC 2396], of the external resource being referenced, or null if no system identifier was supplied.
        sBaseURI - The systemId of the including resource.The absolute base URI of the resource being parsed, or null if there is no base URI.
        Returns:
        null if the resource could not be resolved.