org.loom.mapping
Class DefaultActionMappingRepository

java.lang.Object
  extended by org.loom.mapping.DefaultActionMappingRepository
All Implemented Interfaces:
ActionMappingRepository
Direct Known Subclasses:
GuiceActionMappingRepository

@Singleton
public class DefaultActionMappingRepository
extends java.lang.Object
implements ActionMappingRepository


Constructor Summary
DefaultActionMappingRepository()
           
 
Method Summary
 void addActionMapping(ActionMapping mapping)
           
 ActionMapping getActionMappingByClass(java.lang.Class<? extends Action> actionClass)
           
 ActionMapping getActionMappingByName(java.lang.String actionClassName)
           
 Event getEvent(java.lang.String uri, LoomServletRequest request)
           
 java.lang.String getHandle(java.lang.String uri)
           
 java.lang.String getHandleSeparator()
           
 java.util.Collection<java.lang.String> getMappings()
           
 ActionMapping removeActionMapping(java.lang.Class<? extends Action> actionClass)
          Remove the action mapping for one action class
 void setHandleSeparator(java.lang.String handleSeparator)
           
 void validateActionMappings()
          Validate the registered ActionMappings to check that there are no two overlapping events that may produce the same URL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultActionMappingRepository

public DefaultActionMappingRepository()
Method Detail

getEvent

public Event getEvent(java.lang.String uri,
                      LoomServletRequest request)
Specified by:
getEvent in interface ActionMappingRepository
Parameters:
uri - the uri as returned by request.getServletPath()
request - the current request object
Returns:
the ActionMapping corresponding to this request, null if no Action was a match

getHandle

public java.lang.String getHandle(java.lang.String uri)
Specified by:
getHandle in interface ActionMappingRepository

removeActionMapping

public ActionMapping removeActionMapping(java.lang.Class<? extends Action> actionClass)
Description copied from interface: ActionMappingRepository
Remove the action mapping for one action class

Specified by:
removeActionMapping in interface ActionMappingRepository
Parameters:
actionClass - the action class to be removed
Returns:
the removed ActionMapping instance, null if not found

validateActionMappings

public void validateActionMappings()
Description copied from interface: ActionMappingRepository
Validate the registered ActionMappings to check that there are no two overlapping events that may produce the same URL

Specified by:
validateActionMappings in interface ActionMappingRepository

addActionMapping

public void addActionMapping(ActionMapping mapping)
Specified by:
addActionMapping in interface ActionMappingRepository

getActionMappingByName

public ActionMapping getActionMappingByName(java.lang.String actionClassName)
Specified by:
getActionMappingByName in interface ActionMappingRepository
Parameters:
actionClassName - the class name OR the unqualified class name (without the package path)
Returns:
the actionMapping

getActionMappingByClass

public ActionMapping getActionMappingByClass(java.lang.Class<? extends Action> actionClass)
Specified by:
getActionMappingByClass in interface ActionMappingRepository
Parameters:
actionClass - the action class
Returns:
the required actionMapping

getMappings

public java.util.Collection<java.lang.String> getMappings()
Specified by:
getMappings in interface ActionMappingRepository

getHandleSeparator

public java.lang.String getHandleSeparator()

setHandleSeparator

public void setHandleSeparator(java.lang.String handleSeparator)