Class ClassLocator

  • All Implemented Interfaces:
    Locator, XMLResourcesLocator

    public class ClassLocator
    extends java.lang.Object
    implements XMLResourcesLocator
    The locator searches the current thread's context class loader, and then this class's class loader.

    It is important to use this locator if you want to load something in other jar files.

    Since this locator is used frequently, Locators.getDefault() is provided to return an instance of this class,

    Author:
    tomyeh
    • Constructor Detail

      • ClassLocator

        public ClassLocator()
    • Method Detail

      • getDependentXMLResources

        public java.util.List<XMLResourcesLocator.Resource> getDependentXMLResources​(java.lang.String name,
                                                                                     java.lang.String elName,
                                                                                     java.lang.String elDepends)
                                                                              throws java.io.IOException
        Description copied from interface: XMLResourcesLocator
        Returns a list of resources (XMLResourcesLocator.Resource) after resolving the dependence. The resource is returned in the format of XMLResourcesLocator.Resource

        To resolve the dependence, it assumes each resource has two element whose name is identified by elName and elDepends. The elName element specifies the unique name of each resource. The elDepends element specifies a list of names of resources that this resource depends on. If not found, it assumes it could be loaded first.

        Specified by:
        getDependentXMLResources in interface XMLResourcesLocator
        Parameters:
        name - the resource name, such as "metainfo/config.xml".
        elName - the element used to specify the name.
        elDepends - the element used to specify the dependence.
        Returns:
        a list of XMLResourcesLocator.Resource of the specified name.
        Throws:
        java.io.IOException
      • getDirectory

        public java.lang.String getDirectory()
        Always returns null.
        Specified by:
        getDirectory in interface Locator
      • getResource

        public java.net.URL getResource​(java.lang.String name)
        Description copied from interface: Locator
        Finds the resource with the given name. A resource is some data (images, audio, text, etc) that can be accessed by class code in a way that is independent of the location of the code.
        Specified by:
        getResource in interface Locator
        Returns:
        a URL for reading the resource, or null if the resource could not be found or the caller doesn't have adequate privileges to get the resource
      • getResourceAsStream

        public java.io.InputStream getResourceAsStream​(java.lang.String name)
        Description copied from interface: Locator
        Returns an input stream for reading the specified resource.
        Specified by:
        getResourceAsStream in interface Locator
        Returns:
        an input stream for reading the resource, or null if the resource could not be found or the caller doesn't have adequate privileges to get the resource
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object