Utility methods for resource handling / figuring out class names.
| Modifiers | Name | Description | 
|---|---|---|
| static java.lang.String | CLASSPATH_URL_PREFIX | Pseudo URL prefix for loading from the class path: "classpath:" | 
| static java.lang.String | CLASS_EXTENSION | |
| static java.util.regex.Pattern[] | COMPILER_ROOT_PATTERNS | |
| static java.lang.String | DOMAIN_DIR_PATH | |
| static java.util.regex.Pattern | DOMAIN_PATH_PATTERN | |
| static java.lang.String | FILE_URL_PREFIX | URL prefix for loading from the file system: "file:" | 
| static java.lang.String | GRAILS_APP_DIR | The name of the Grails application directory | 
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_EIGHTH_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_ELEVENTH_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_FIFTH_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_FIRST_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_FOURTH_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_NINTH_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_SECOND_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_SEVENTH_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_SIXTH_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_TENTH_MATCH | |
| static java.util.regex.Pattern | GRAILS_RESOURCE_PATTERN_THIRD_MATCH | |
| static java.lang.String | JAR_URL_SEPARATOR | |
| static java.lang.String | REGEX_FILE_SEPARATOR | |
| static java.util.regex.Pattern | RESOURCE_PATH_PATTERN | |
| static java.util.regex.Pattern | SPRING_SCRIPTS_PATH_PATTERN | |
| static java.lang.String | URL_PROTOCOL_CODE_SOURCE | URL protocol for an entry from an OC4J jar file: "code-source" | 
| static java.lang.String | URL_PROTOCOL_FILE | URL protocol for a file in the file system: "file" | 
| static java.lang.String | URL_PROTOCOL_JAR | URL protocol for an entry from a jar file: "jar" | 
| static java.lang.String | URL_PROTOCOL_VFS | URL protocol for a JBoss VFS resource: "vfs" | 
| static java.lang.String | URL_PROTOCOL_VFSZIP | URL protocol for an entry from a JBoss jar file: "vfszip" | 
| static java.lang.String | URL_PROTOCOL_WSJAR | URL protocol for an entry from a WebSphere jar file: "wsjar" | 
| static java.lang.String | URL_PROTOCOL_ZIP | URL protocol for an entry from a zip file: "zip" | 
| static java.lang.String | VIEWS_DIR_PATH | The path to the views directory | 
| static java.lang.String | VIEWS_DIR_PATH_NO_SLASH | The path to the views directory without a trailing slash | 
| static java.lang.String | WEB_APP_DIR | The name of the Web app dir within Grails | 
| static java.lang.String | WEB_INF | The relative path to the WEB-INF directory | 
| static java.util.regex.Pattern[] | grailsAppResourcePatterns | |
| static java.util.regex.Pattern[] | patterns | 
| Type Params | Return Type | Name and description | 
|---|---|---|
|  | static java.lang.String | appendPiecesForUri(java.lang.String... pieces)Takes any number of Strings and appends them into a uri, making sure that a forward slash is inserted between each piece and making sure that no duplicate slashes are in the uri | 
|  | static java.lang.String | applyRelativePath(java.lang.String path, java.lang.String relativePath)Apply the given relative path to the given path, assuming standard Java folder separation (i.e. "/" separators). | 
|  | static java.lang.String | classPackageAsResourcePath(java.lang.Class<?> clazz)Given an input class object, return a string which consists of the class's package name as a pathname, i.e., all dots ('.') are replaced by slashes ('/'). | 
|  | static java.lang.String | cleanPath(java.lang.String path)Normalize the path by suppressing sequences like "path/.." and inner simple dots. | 
|  | static java.net.URL | extractJarFileURL(java.net.URL jarUrl)Extract the URL for the actual jar file from the given URL (which may point to a resource in a jar file or to a jar file itself). | 
|  | static Resource | getAppDir(Resource resource) | 
|  | static java.lang.String | getArtefactDirectory(java.lang.String path)Takes a file path and returns the name of the folder under grails-app i.e: | 
|  | static java.lang.String | getClassName(Resource resource)Gets the class name of the specified Grails resource | 
|  | static java.lang.String | getClassName(java.lang.String path)Returns the class name for a Grails resource. | 
|  | static java.lang.String | getClassNameForClassFile(java.lang.String rootDir, java.lang.String path)Returns the class name for a compiled class file | 
|  | static java.io.File | getFile(java.net.URL resourceUrl, java.lang.String description)Resolve the given resource URL to a java.io.File,
 i.e. to a file in the file system. | 
|  | static java.io.File | getFile(java.net.URI resourceUri, java.lang.String description)Resolve the given resource URI to a java.io.File,
 i.e. to a file in the file system. | 
|  | static java.io.File | getFile(java.net.URI resourceUri)Resolve the given resource URI to a java.io.File,
 i.e. to a file in the file system. | 
|  | static java.lang.String | getFilename(java.lang.String path)Extract the filename from the given path, e.g. | 
|  | static java.lang.String | getPathFromBaseDir(java.lang.String path)Gets the path relative to the project base directory. | 
|  | static java.lang.String | getPathFromRoot(java.lang.String path)Get the path relative to an artefact folder under grails-app i.e: | 
|  | static java.lang.String | getRelativeInsideWebInf(Resource resource)Takes a Grails resource (one located inside the grails-app dir) and gets its relative path inside the WEB-INF directory when deployed. | 
|  | static java.lang.String | getStaticResourcePathForResource(Resource resource, java.lang.String contextPath)Retrieves the static resource path for the given Grails resource artifact (controller/taglib etc.) | 
|  | static Resource | getViewsDir(Resource resource) | 
|  | static java.lang.Object | instantiateFromConfig(groovy.util.ConfigObject config, java.lang.String configKey, java.lang.String defaultClassName) | 
|  | static java.lang.Object | instantiateFromFlatConfig(java.util.Map<java.lang.String, java.lang.Object> flatConfig, java.lang.String configKey, java.lang.String defaultClassName) | 
|  | static boolean | isDomainClass(java.net.URL url)Checks whether the file referenced by the given url is a domain class | 
|  | static boolean | isFileURL(java.net.URL url)Determine whether the given URL points to a resource in the file system, that is, has protocol "file" or "vfs". | 
|  | static boolean | isGrailsPath(java.lang.String path)Checks whether the specified path is a Grails path. | 
|  | static boolean | isGrailsResource(Resource r)Checks whether the specific resources is a Grails resource. | 
|  | static boolean | isJarURL(java.net.URL url)Determine whether the given URL points to a resource in a jar file, that is, has protocol "jar", "zip", "wsjar" or "code-source". | 
|  | static boolean | isProjectSource(java.lang.String path)Checks whether the specified path is a Grails path. | 
|  | static boolean | isProjectSource(Resource r)Checks whether the specified path is a Grails path. | 
|  | static java.net.URI | toURI(java.net.URL url)Create a URI instance for the given URL, replacing spaces with "%20" quotes first. | 
|  | static java.net.URI | toURI(java.lang.String location)Create a URI instance for the given location String, replacing spaces with "%20" quotes first. | 
|  | static void | useCachesIfNecessary(java.net.URLConnection con) | 
| Methods inherited from class | Name | 
|---|---|
| class java.lang.Object | java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() | 
Pseudo URL prefix for loading from the class path: "classpath:"
URL prefix for loading from the file system: "file:"
The name of the Grails application directory
URL protocol for an entry from an OC4J jar file: "code-source"
URL protocol for a file in the file system: "file"
URL protocol for an entry from a jar file: "jar"
URL protocol for a JBoss VFS resource: "vfs"
URL protocol for an entry from a JBoss jar file: "vfszip"
URL protocol for an entry from a WebSphere jar file: "wsjar"
URL protocol for an entry from a zip file: "zip"
The path to the views directory
The path to the views directory without a trailing slash
The name of the Web app dir within Grails
The relative path to the WEB-INF directory
Takes any number of Strings and appends them into a uri, making sure that a forward slash is inserted between each piece and making sure that no duplicate slashes are in the uri
Input: "" Output: "" Input: "/alpha", "/beta", "/gamma" Output: "/alpha/beta/gamma Input: "/alpha/, "/beta/", "/gamma" Output: "/alpha/beta/gamma Input: "/alpha/", "/beta/", "/gamma/" Output "/alpha/beta/gamma/ Input: "alpha", "beta", "gamma" Output: "alpha/beta/gamma
pieces -  Strings to concatenate together into a uriApply the given relative path to the given path, assuming standard Java folder separation (i.e. "/" separators).
path -  the path to start from (usually a full file path)relativePath -  the relative path to apply
 (relative to the full file path above) Given an input class object, return a string which consists of the
 class's package name as a pathname, i.e., all dots ('.') are replaced by
 slashes ('/'). Neither a leading nor trailing slash is added. The result
 could be concatenated with a slash and the name of a resource and fed
 directly to ClassLoader.getResource(). For it to be fed to
 Class.getResource instead, a leading slash would also have
 to be prepended to the returned value.
     
clazz -  the input class. A null value or the default
 (empty) package will result in an empty string ("") being returned.Normalize the path by suppressing sequences like "path/.." and inner simple dots.
The result is convenient for path comparison. For other uses, notice that Windows separators ("\") are replaced by simple slashes.
path -  the original pathExtract the URL for the actual jar file from the given URL (which may point to a resource in a jar file or to a jar file itself).
jarUrl -  the original URLTakes a file path and returns the name of the folder under grails-app i.e: Input: /usr/joe/project/grails-app/domain/com/mystartup/Book.groovy Output: domain
path -  The pathGets the class name of the specified Grails resource
resource -  The Spring ResourceReturns the class name for a Grails resource.
path -  The path to checkReturns the class name for a compiled class file
path -  The path to check Resolve the given resource URL to a java.io.File,
 i.e. to a file in the file system.
resourceUrl -  the resource URL to resolvedescription -  a description of the original resource that
 the URL was created for (for example, a class path location) Resolve the given resource URI to a java.io.File,
 i.e. to a file in the file system.
resourceUri -  the resource URI to resolvedescription -  a description of the original resource that
 the URI was created for (for example, a class path location) Resolve the given resource URI to a java.io.File,
 i.e. to a file in the file system.
resourceUri -  the resource URI to resolveExtract the filename from the given path, e.g. "mypath/myfile.txt" -> "myfile.txt".
path -  the file path (may be null)null if noneGets the path relative to the project base directory. Input: /usr/joe/project/grails-app/conf/BootStrap.groovy Output: grails-app/conf/BootStrap.groovy
path -  The pathGet the path relative to an artefact folder under grails-app i.e: Input: /usr/joe/project/grails-app/conf/BootStrap.groovy Output: BootStrap.groovy Input: /usr/joe/project/grails-app/domain/com/mystartup/Book.groovy Output: com/mystartup/Book.groovy
path -  The path to evaluateTakes a Grails resource (one located inside the grails-app dir) and gets its relative path inside the WEB-INF directory when deployed.
resource -  The Grails resource, which is a file inside the grails-app dirRetrieves the static resource path for the given Grails resource artifact (controller/taglib etc.)
resource -  The ResourcecontextPath -  The additonal context path to prefixChecks whether the file referenced by the given url is a domain class
url -  The URL instanceDetermine whether the given URL points to a resource in the file system, that is, has protocol "file" or "vfs".
url -  the URL to checkChecks whether the specified path is a Grails path.
path -  The path to checkChecks whether the specific resources is a Grails resource. A Grails resource is a Groovy or Java class under the grails-app directory
r -  The resource to checkDetermine whether the given URL points to a resource in a jar file, that is, has protocol "jar", "zip", "wsjar" or "code-source".
"zip" and "wsjar" are used by BEA WebLogic Server and IBM WebSphere, respectively, but can be treated like jar files. The same applies to "code-source" URLs on Oracle OC4J, provided that the path contains a jar separator.
url -  the URL to checkChecks whether the specified path is a Grails path.
path -  The path to checkChecks whether the specified path is a Grails path.
r -  The resoruce to checkCreate a URI instance for the given URL, replacing spaces with "%20" quotes first.
Furthermore, this method works on JDK 1.4 as well,
 in contrast to the URL.toURI() method.
url -  the URL to convert into a URI instanceCreate a URI instance for the given location String, replacing spaces with "%20" quotes first.
location -  the location String to convert into a URI instance