|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.util.ResourceLocator
public class ResourceLocator
Utility class to find resources (files, etc.), using a preconfigured strategy.
Nested Class Summary | |
---|---|
protected static class |
ResourceLocator.PredicateLogger
Custom logger that can be dynamically turned on/off by evaluating a Predicate. |
Field Summary | |
---|---|
protected java.util.List |
additionalClassPaths
|
protected java.util.List |
additionalFilesystemPaths
|
protected java.lang.ClassLoader |
classLoader
|
protected boolean |
skipAbsolutePath
|
protected boolean |
skipClasspath
|
protected boolean |
skipCurrentDirectory
|
protected boolean |
skipHomeDirectory
|
Constructor Summary | |
---|---|
ResourceLocator()
Creates new ResourceLocator with default lookup policy including user home directory, current directory and CLASSPATH. |
Method Summary | |
---|---|
void |
addClassPath(java.lang.String customPath)
Adds a custom path for class path lookups. |
void |
addFilesystemPath(java.io.File path)
Adds the given directory as a path for filesystem lookups. |
void |
addFilesystemPath(java.lang.String path)
Adds the given String as a custom path for filesystem lookups. |
static java.lang.String |
classBaseUrl(java.lang.Class aClass)
Returns a base URL as a String from which this class was loaded. |
java.net.URL |
findDirectoryResource(java.lang.String name)
Returns a directory resource URL using the lookup strategy configured for this ResourceLocator or null if no readable resource can be found for the
given name. |
static java.io.File |
findFileInCurrentDirectory(java.lang.String name)
Looks up a file in the current directory. |
static java.io.File |
findFileInFileSystem(java.lang.String name)
Looks up a file in the filesystem. |
static java.io.File |
findFileInHomeDirectory(java.lang.String name)
Looks up a file in the user home directory. |
java.net.URL |
findResource(java.lang.String name)
Returns a resource URL using the lookup strategy configured for this Resourcelocator or null if no readable resource can be found for the
given name. |
static java.io.InputStream |
findResourceInClasspath(java.lang.String name)
Returns a resource as InputStream if it is found in CLASSPATH or null
otherwise. |
static java.io.InputStream |
findResourceInFileSystem(java.lang.String name)
Returns a resource as InputStream if it is found in the filesystem or null otherwise. |
java.io.InputStream |
findResourceStream(java.lang.String name)
Returns an InputStream on the found resource using the lookup strategy configured for this ResourceLocator or null if no readable resource can be
found for the given name. |
static java.net.URL |
findURLInClassLoader(java.lang.String name,
java.lang.ClassLoader loader)
Looks up the URL for the named resource using the specified ClassLoader. |
static java.net.URL |
findURLInClasspath(java.lang.String name)
Looks up the URL for the named resource using this class' ClassLoader. |
java.lang.ClassLoader |
getClassLoader()
Returns the ClassLoader associated with this ResourceLocator. |
void |
setClassLoader(java.lang.ClassLoader classLoader)
Sets ClassLoader used to locate resources. |
void |
setSkipAbsolutePath(boolean skipAbsPath)
Sets "skipAbsolutePath" property. |
void |
setSkipClasspath(boolean skipClasspath)
Sets "skipClasspath" property. |
void |
setSkipCurrentDirectory(boolean skipCurDir)
Sets "skipCurrentDirectory" property. |
void |
setSkipHomeDirectory(boolean skipHomeDir)
Sets "skipHomeDirectory" property. |
boolean |
willSkipAbsolutePath()
Returns true if no lookups are performed using path as absolute path. |
boolean |
willSkipClasspath()
Returns true if no lookups are performed in the classpath. |
boolean |
willSkipCurrentDirectory()
Returns true if no lookups are performed in the current directory. |
boolean |
willSkipHomeDirectory()
Returns true if no lookups are performed in the user home directory. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected boolean skipAbsolutePath
protected boolean skipClasspath
protected boolean skipCurrentDirectory
protected boolean skipHomeDirectory
protected java.util.List additionalClassPaths
protected java.util.List additionalFilesystemPaths
protected java.lang.ClassLoader classLoader
Constructor Detail |
---|
public ResourceLocator()
Method Detail |
---|
public static java.io.InputStream findResourceInClasspath(java.lang.String name)
null
otherwise. Lookup is normally performed in all JAR and ZIP files and directories
available to the ClassLoader.
public static java.io.InputStream findResourceInFileSystem(java.lang.String name)
null
otherwise. Lookup is first performed relative to the user's
home directory (as defined by "user.home" system property), and then relative to
the current directory.
public static java.io.File findFileInFileSystem(java.lang.String name)
findFileInHomeDirectory(String)
,
findFileInCurrentDirectory(String)
public static java.io.File findFileInHomeDirectory(java.lang.String name)
null
if file
cannot be found or is not readable.public static java.io.File findFileInCurrentDirectory(java.lang.String name)
null
if file
can not be found is not readable.public static java.net.URL findURLInClasspath(java.lang.String name)
public static java.net.URL findURLInClassLoader(java.lang.String name, java.lang.ClassLoader loader)
public static java.lang.String classBaseUrl(java.lang.Class aClass)
public java.io.InputStream findResourceStream(java.lang.String name)
null
if no readable resource can be
found for the given name.
public java.net.URL findResource(java.lang.String name)
null
if no readable resource can be found for the
given name.
public java.net.URL findDirectoryResource(java.lang.String name)
null
if no readable resource can be found for the
given name. The returned resource is assumed to be a directory, so the returned URL
will be in a directory format (with "/" at the end).
public boolean willSkipHomeDirectory()
public void setSkipHomeDirectory(boolean skipHomeDir)
public boolean willSkipCurrentDirectory()
public void setSkipCurrentDirectory(boolean skipCurDir)
public boolean willSkipClasspath()
public void setSkipClasspath(boolean skipClasspath)
public java.lang.ClassLoader getClassLoader()
public void setClassLoader(java.lang.ClassLoader classLoader)
null
is passed, the
ClassLoader of the ResourceLocator class will be used.
public boolean willSkipAbsolutePath()
public void setSkipAbsolutePath(boolean skipAbsPath)
public void addClassPath(java.lang.String customPath)
public void addFilesystemPath(java.lang.String path)
java.lang.IllegalArgumentException
- if path
is null
.public void addFilesystemPath(java.io.File path)
java.lang.IllegalArgumentException
- if path
is null
,
not a directory or not readable.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |