|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.ClassLoader
org.crosswire.common.util.CWClassLoader
public final class CWClassLoader
CWClassLoader extends the regular class loader by using looking in more places. This is needed so that ResourceBundle can find resources that are not held in the same package as the class. This is expressed as a list of locations, called homes, that the program will look in.
The GNU Lesser General Public License for details.
Nested Class Summary | |
---|---|
private static class |
CWClassLoader.PrivilegedLoader<T>
PrivilegedLoader creates a CWClassLoader if it is able to obtain java security permissions to do so. |
Field Summary | |
---|---|
private static URI[] |
homes
Notion of a project's home from where additional resources can be found. |
private Class<?> |
owner
The class to which the resources belong |
Constructor Summary | |
---|---|
CWClassLoader()
Creates a class loader that finds resources for the calling class that may not be in the class' package. |
|
CWClassLoader(Class<?> resourceOwner)
Creates a class loader that finds resources for the supplied class that may not be in the class' package. |
Method Summary | |
---|---|
private String |
adjustPackageSearch(String aSearch)
Prefix the search with a package prefix, if not already. |
private String |
adjustPathSearch(String aSearch)
Change all but a leading '/' to '.' |
static URI |
findHomeResource(String search)
Look for the resource in the home directories, returning the first readable file. |
URL |
findResource(String search)
|
ClassLoader |
getClassLoader()
Pick the best class loader |
static URI |
getHome(int i)
If the application has set the homes, it will return the application's requested home directory, otherwise it returns null. |
static CWClassLoader |
instance()
Creates a privileged class loader that finds resources for the calling class that may not be in the class' package. |
static CWClassLoader |
instance(Class<?> resourceOwner)
Creates a privileged class loader that finds resources for the supplied class that may not be in the class' package. |
private static ClassLoader |
pickLoader(ClassLoader loader1,
ClassLoader loader2)
Returns 'true' if 'loader2' is a delegation child of 'loader1' [or if 'loader1'=='loader2']. |
static void |
setHome(URI[] newHomes)
Establish the applications home directory from where additional resources can be found. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private Class<?> owner
private static URI[] homes
Constructor Detail |
---|
CWClassLoader(Class<?> resourceOwner)
resourceOwner
- is the owner of the resourceCWClassLoader()
Method Detail |
---|
public static CWClassLoader instance(Class<?> resourceOwner)
resourceOwner
- is the owner of the resource
public static CWClassLoader instance()
public URL findResource(String search)
findResource
in class ClassLoader
private String adjustPackageSearch(String aSearch)
aSearch
- the search to adjust
private String adjustPathSearch(String aSearch)
aSearch
- the search to adjust
public ClassLoader getClassLoader()
private static ClassLoader pickLoader(ClassLoader loader1, ClassLoader loader2)
loader1
- a class loader to considerloader2
- a class loader to consider
public static URI getHome(int i)
i
- get the i-th home
public static void setHome(URI[] newHomes)
newHomes
- The home to set.public static URI findHomeResource(String search)
search
- must be non-null, non-empty
|
Copyright ยจ 2003-2015 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |