org.codehaus.groovy.grails.commons
Interface GrailsControllerClass

All Superinterfaces:
GrailsClass, InjectableGrailsClass
All Known Implementing Classes:
DefaultGrailsControllerClass

public interface GrailsControllerClass
extends InjectableGrailsClass

Represents a controller class in Grails.

Since:
Jul 2, 2005
Author:
Steven Devijver

Field Summary
static String ACTION
          The general name to use when referring to action artefacts
static String AFTER_INTERCEPTOR
          The name of the after interceptor property
static String BEFORE_INTERCEPTOR
          The name of the before interceptor property
static String CONTROLLER
          The general name to use when referring to controller artefacts
static String INDEX_ACTION
          The name of the index action
static String VIEW
          The general name to use when referring to action view
 
Method Summary
 groovy.lang.Closure getAfterInterceptor(groovy.lang.GroovyObject controller)
          Retrieves the after interceptor for the specified controller instance
 groovy.lang.Closure getBeforeInterceptor(groovy.lang.GroovyObject controller)
          Retrieves the before interceptor for the specified controller instance
 String getClosurePropertyName(String uri)
          Returns a closure property name for a specific URI or null if the URI does not map to a closure.
 Set getCommandObjectActions()
           
 Set getCommandObjectClasses()
           
 Map getFlows()
          Returns a map of the flows for this controller.
 Class getScaffoldedClass()
           
 String[] getURIs()
          Gets the list of all possible URI's available in this controller.
 String getViewByName(String closureName)
          Retrieves the view name for the specified closure name
 String getViewByURI(String uri)
          Retrieves the view name for the specified URI
 boolean isFlowAction(String actionName)
          Returns true if the given action name is a flow action
 boolean isHttpMethodAllowedForAction(groovy.lang.GroovyObject controller, String httpMethod, String actionName)
          Checks to see if an action is accessible via a particular http method
 boolean isInterceptedAfter(groovy.lang.GroovyObject controller, String action)
          Checks whether the specified action is intercepted after for the specified controller instance
 boolean isInterceptedBefore(groovy.lang.GroovyObject controller, String action)
          Checks whether the specified action is intercepted for the specified controller instance
 boolean isScaffolding()
           
 boolean mapsToURI(String uri)
          Tests if a controller maps to a given URI.
 
Methods inherited from interface org.codehaus.groovy.grails.commons.InjectableGrailsClass
byName, byType, getAvailable
 
Methods inherited from interface org.codehaus.groovy.grails.commons.GrailsClass
getClazz, getFullName, getLogicalPropertyName, getMetaClass, getName, getNaturalName, getPackageName, getPropertyName, getPropertyValue, getPropertyValue, getReference, getShortName, hasProperty, newInstance
 

Field Detail

INDEX_ACTION

static final String INDEX_ACTION
The name of the index action

See Also:
Constant Field Values

BEFORE_INTERCEPTOR

static final String BEFORE_INTERCEPTOR
The name of the before interceptor property

See Also:
Constant Field Values

AFTER_INTERCEPTOR

static final String AFTER_INTERCEPTOR
The name of the after interceptor property

See Also:
Constant Field Values

CONTROLLER

static final String CONTROLLER
The general name to use when referring to controller artefacts

See Also:
Constant Field Values

ACTION

static final String ACTION
The general name to use when referring to action artefacts

See Also:
Constant Field Values

VIEW

static final String VIEW
The general name to use when referring to action view

See Also:
Constant Field Values
Method Detail

isHttpMethodAllowedForAction

boolean isHttpMethodAllowedForAction(groovy.lang.GroovyObject controller,
                                     String httpMethod,
                                     String actionName)
Checks to see if an action is accessible via a particular http method

Parameters:
controller - The instance of the controller
httpMethod - The http request method
actionName - The action to check
Returns:
true if the action is accessible via the specified http method

isInterceptedBefore

boolean isInterceptedBefore(groovy.lang.GroovyObject controller,
                            String action)
Checks whether the specified action is intercepted for the specified controller instance

Parameters:
controller - The instance of the controller
action - The action to check
Returns:
True if it is intercepted

isInterceptedAfter

boolean isInterceptedAfter(groovy.lang.GroovyObject controller,
                           String action)
Checks whether the specified action is intercepted after for the specified controller instance

Parameters:
controller - The controller instance
action - The action to check
Returns:
True if it is intercepted

getBeforeInterceptor

groovy.lang.Closure getBeforeInterceptor(groovy.lang.GroovyObject controller)
Retrieves the before interceptor for the specified controller instance

Parameters:
controller - The controller instance
Returns:
The before interceptor as a Closure or null if non exists

getAfterInterceptor

groovy.lang.Closure getAfterInterceptor(groovy.lang.GroovyObject controller)
Retrieves the after interceptor for the specified controller instance

Parameters:
controller - The controller instance
Returns:
The after interceptor as a Closure or null if non exists

getURIs

String[] getURIs()

Gets the list of all possible URI's available in this controller.

Returns:
list of all possible URI's

mapsToURI

boolean mapsToURI(String uri)

Tests if a controller maps to a given URI.

Returns:
true if controller maps to URI

getViewByURI

String getViewByURI(String uri)
Retrieves the view name for the specified URI

Parameters:
uri - the name of URI
Returns:
the view name of null if not found

getViewByName

String getViewByName(String closureName)
Retrieves the view name for the specified closure name

Parameters:
closureName - The name of the closure
Returns:
The view for the specified closure action

getClosurePropertyName

String getClosurePropertyName(String uri)

Returns a closure property name for a specific URI or null if the URI does not map to a closure.

Parameters:
uri - the URI of the request
Returns:
the closure property name mapped to the URI or null is no closure was found

isScaffolding

boolean isScaffolding()
Returns:
True of the controller class is scaffolding

getScaffoldedClass

Class getScaffoldedClass()
Returns:
The class that is being scaffolded by this controller

getCommandObjectActions

Set getCommandObjectActions()
Returns:
A Set of names of actions with command objects presented in this controller

getCommandObjectClasses

Set getCommandObjectClasses()
Returns:
A Set of command object classes used by this controller

getFlows

Map getFlows()

Returns a map of the flows for this controller. A flow is an action that ends with the convention "Flow". The keys in the map are the flow ids which are the text before the "Flow" suffix. For example a flow called "bookFlow" would have a key of "book"

The values within the Map are Groovy closures (@see groovy.lang.Closure) which represent the flow definition

Returns:
A Map of flows for this controller

isFlowAction

boolean isFlowAction(String actionName)
Returns true if the given action name is a flow action

Parameters:
actionName - The name of the action
Returns:
True if it is a flow action


Copyright (c) 2005-2006 The Grails project