Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
titleBaseCommandController getCommand()
/**
 * Retrieve a command object for the given request.
 * <p>Default implementation calls createCommand. Subclasses can override this.
 * @param request current HTTP request
 * @return object command to bind onto
 * @see #createCommand
 */
 protected Object getCommand(HttpServletRequest request) throws Exception {
    return createCommand();
 }
Code Block
titleBaseCommandController createCommand()

/**
 * Create a new command instance for the command class of this controller.
 * @return the new command instance
 * @throws InstantiationException if the command class could not be instantiated
 * @throws IllegalAccessException if the class or its constructor is not accessible
 */
 protected final Object createCommand() throws InstantiationException, IllegalAccessException {
    if (this.commandClass == null) {
         throw new IllegalStateException("Cannot create command without commandClass being set - " +					"either set commandClass or override formBackingObject");
    }
    if (logger.isDebugEnabled()) {
        logger.debug("Creating new command of class [" + this.commandClass.getName() + "]");
    }
    return this.commandClass.newInstance();
 }
Code Block
titleCurrent CredentialsBinder interface
/**
 * Interface for a class that can bind items stored in the request to a particular
 * credentials implementation.  This allows for binding beyond the basic
 * JavaBean/Request parameter binding that is handled by Spring automatically.
 */
public interface CredentialsBinder {
    /**
    * Method to allow manually binding attributes from the request object to properties of
    * the credentials.  Useful when there is no mapping of attribute to property for the 
    * usual Spring binding to handle.
    * 
    * @param request The HttpServletRequest from which we wish to bind credentials to
    * @param credentials The credentials we will be doing custom binding to.
    */
    void bind(HttpServletRequest request, Credentials credentials);
	
    /**
    * 
    * Method to determine if a CredentialsBinder supports a specific class or not.
    * 
    * @param clazz The class to determine is supported or not
    * @return true if this class is supported by the CredentialsBinder, false otherwise.
    */
    boolean supports(Class clazz);
}