org.codehaus.groovy.grails.commons
Class GrailsResourceUtils

java.lang.Object
  extended by org.codehaus.groovy.grails.commons.GrailsResourceUtils

public class GrailsResourceUtils
extends Object

Utility methods for working with Grails resources and URLs that represent artifacts within a Grails application

Since:
0.2 Created: 20th June 2006
Author:
Graeme Rocher

Field Summary
static Pattern[] COMPILER_ROOT_PATTERNS
           
static Pattern DOMAIN_PATH_PATTERN
           
static String GRAILS_APP_DIR
          The name of the Grails application directory
static Pattern GRAILS_RESOURCE_PATTERN_FIFTH_MATCH
           
static Pattern GRAILS_RESOURCE_PATTERN_FIRST_MATCH
           
static Pattern GRAILS_RESOURCE_PATTERN_FOURTH_MATCH
           
static Pattern GRAILS_RESOURCE_PATTERN_SECOND_MATCH
           
static Pattern GRAILS_RESOURCE_PATTERN_SIXTH_MATCH
           
static Pattern GRAILS_RESOURCE_PATTERN_THIRD_MATCH
           
static Pattern[] patterns
           
static Pattern RESOURCE_PATH_PATTERN
           
static Pattern SPRING_SCRIPTS_PATH_PATTERN
           
static String VIEWS_DIR_PATH
          The path to the views directory
static String WEB_APP_DIR
          The name of the Web app dir within Grails
static String WEB_INF
          The relative path to the WEB-INF directory
 
Constructor Summary
GrailsResourceUtils()
           
 
Method Summary
static Resource getAppDir(Resource resource)
           
static String getClassName(Resource resource)
          Gets the class name of the specified Grails resource
static String getClassName(String path)
          Returns the class name for a Grails resource
static String getPathFromRoot(String path)
          Get 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
static String getRelativeInsideWebInf(Resource resource)
          This method will take a Grails resource (one located inside the grails-app dir) and get its relative path inside the WEB-INF directory when deployed
static String getStaticResourcePathForResource(Resource resource, String contextPath)
          Retrieves the static resource path for the given Grails resource artifact (controller/taglib etc.)
static Resource getViewsDir(Resource resource)
           
static boolean isDomainClass(URL url)
          Checks whether the file referenced by the given url is a domain class
static boolean isGrailsPath(String path)
          Checks whether the specified path is a Grails path
static boolean isGrailsResource(Resource r)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WEB_INF

public static final String WEB_INF
The relative path to the WEB-INF directory

See Also:
Constant Field Values

GRAILS_APP_DIR

public static final String GRAILS_APP_DIR
The name of the Grails application directory

See Also:
Constant Field Values

WEB_APP_DIR

public static final String WEB_APP_DIR
The name of the Web app dir within Grails

See Also:
Constant Field Values

VIEWS_DIR_PATH

public static final String VIEWS_DIR_PATH
The path to the views directory

See Also:
Constant Field Values

DOMAIN_PATH_PATTERN

public static Pattern DOMAIN_PATH_PATTERN

RESOURCE_PATH_PATTERN

public static Pattern RESOURCE_PATH_PATTERN

SPRING_SCRIPTS_PATH_PATTERN

public static Pattern SPRING_SCRIPTS_PATH_PATTERN

COMPILER_ROOT_PATTERNS

public static Pattern[] COMPILER_ROOT_PATTERNS

GRAILS_RESOURCE_PATTERN_FIRST_MATCH

public static final Pattern GRAILS_RESOURCE_PATTERN_FIRST_MATCH

GRAILS_RESOURCE_PATTERN_SECOND_MATCH

public static final Pattern GRAILS_RESOURCE_PATTERN_SECOND_MATCH

GRAILS_RESOURCE_PATTERN_THIRD_MATCH

public static final Pattern GRAILS_RESOURCE_PATTERN_THIRD_MATCH

GRAILS_RESOURCE_PATTERN_FOURTH_MATCH

public static final Pattern GRAILS_RESOURCE_PATTERN_FOURTH_MATCH

GRAILS_RESOURCE_PATTERN_FIFTH_MATCH

public static final Pattern GRAILS_RESOURCE_PATTERN_FIFTH_MATCH

GRAILS_RESOURCE_PATTERN_SIXTH_MATCH

public static final Pattern GRAILS_RESOURCE_PATTERN_SIXTH_MATCH

patterns

public static final Pattern[] patterns
Constructor Detail

GrailsResourceUtils

public GrailsResourceUtils()
Method Detail

isDomainClass

public static boolean isDomainClass(URL url)
Checks whether the file referenced by the given url is a domain class

Parameters:
url - The URL instance
Returns:
True if it is a domain class

getClassName

public static String getClassName(Resource resource)
Gets the class name of the specified Grails resource

Parameters:
resource - The Spring Resource
Returns:
The class name or null if the resource is not a Grails class

getClassName

public static String getClassName(String path)
Returns the class name for a Grails resource

Parameters:
path - The path to check
Returns:
The class name or null if it doesn't exist

isGrailsPath

public static boolean isGrailsPath(String path)
Checks whether the specified path is a Grails path

Parameters:
path - The path to check
Returns:
True if it is a Grails path

isGrailsResource

public static boolean isGrailsResource(Resource r)

getViewsDir

public static Resource getViewsDir(Resource resource)

getAppDir

public static Resource getAppDir(Resource resource)

getRelativeInsideWebInf

public static String getRelativeInsideWebInf(Resource resource)
This method will take a Grails resource (one located inside the grails-app dir) and get its relative path inside the WEB-INF directory when deployed

Parameters:
resource - The Grails resource, which is a file inside the grails-app dir
Returns:
The relative URL of the file inside the WEB-INF dir at deployment time or null if it cannot be established

getStaticResourcePathForResource

public static String getStaticResourcePathForResource(Resource resource,
                                                      String contextPath)
Retrieves the static resource path for the given Grails resource artifact (controller/taglib etc.)

Parameters:
resource - The Resource
contextPath - The additonal context path to prefix
Returns:
The resource path

getPathFromRoot

public static String getPathFromRoot(String path)
Get 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

Parameters:
path - The path to evaluate
Returns:
The path relative to the root folder grails-app


Copyright (c) 2005-2009 The Grails project