Package org.zkoss.util.resource
Class ClassLocator
- java.lang.Object
-
- org.zkoss.util.resource.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
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.zkoss.util.resource.XMLResourcesLocator
XMLResourcesLocator.Resource
-
-
Constructor Summary
Constructors Constructor Description ClassLocator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
java.util.List<XMLResourcesLocator.Resource>
getDependentXMLResources(java.lang.String name, java.lang.String elName, java.lang.String elDepends)
Returns a list of resources (XMLResourcesLocator.Resource
) after resolving the dependence.java.lang.String
getDirectory()
Always returns null.java.net.URL
getResource(java.lang.String name)
Finds the resource with the given name.java.io.InputStream
getResourceAsStream(java.lang.String name)
Returns an input stream for reading the specified resource.java.util.Enumeration<java.net.URL>
getResources(java.lang.String name)
Returns an enumeration of resources.int
hashCode()
-
-
-
Method Detail
-
getResources
public java.util.Enumeration<java.net.URL> getResources(java.lang.String name) throws java.io.IOException
Description copied from interface:XMLResourcesLocator
Returns an enumeration of resources. UnlikeXMLResourcesLocator.getDependentXMLResources(java.lang.String, java.lang.String, java.lang.String)
, it doesn't resolve the dependence among the resources.- Specified by:
getResources
in interfaceXMLResourcesLocator
- Parameters:
name
- the resource name, such as "metainfo/config.xml".- Throws:
java.io.IOException
-
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 ofXMLResourcesLocator.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 interfaceXMLResourcesLocator
- 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 interfaceLocator
-
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 interfaceLocator
- 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 interfaceLocator
- 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 classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
-