com.atlassian.confluence.core.service
Class RunAsUserCommand

java.lang.Object
  extended by com.atlassian.confluence.core.service.RunAsUserCommand
All Implemented Interfaces:
ServiceCommand

public class RunAsUserCommand
extends Object
implements ServiceCommand

An experimental command for running services as another user. NOT CURRENTLY UNIT-TESTED


Constructor Summary
RunAsUserCommand(com.atlassian.user.User userToRunAs, ServiceCommand delegate)
           
 
Method Summary
 void execute()
          Execute the command.
 Collection getValidationErrors()
          Gets the list of errors that are preventing the command from being executed.
 boolean isAuthorized()
          Determine if the current user is authorized to execute this command.
 boolean isValid()
          Determine if the command is in a valid state to be executed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RunAsUserCommand

public RunAsUserCommand(com.atlassian.user.User userToRunAs,
                        ServiceCommand delegate)
Method Detail

isValid

public boolean isValid()
Description copied from interface: ServiceCommand
Determine if the command is in a valid state to be executed. If this method returns true, then ServiceCommand.execute() is be expected to perform successfully (unless prevented by some system error). If this method returns false, execute will fail with a NotValidException.

This method should be called after checking ServiceCommand.isAuthorized(). If the current user is not authorized to execute this command, this method must throw a NotAuthorizedException.

If this method returns false, then ServiceCommand.getValidationErrors() must return a non-empty list of errors explaining why the command was not valid. If this method returns true, the collection returned by getValidationErrors() must be empty.

Specified by:
isValid in interface ServiceCommand
Returns:
true if the command is in a valid state to be executed, false otherwise

getValidationErrors

public Collection getValidationErrors()
Description copied from interface: ServiceCommand
Gets the list of errors that are preventing the command from being executed. Calling this method before calling ServiceCommand.isValid() will always return an empty collection.

Specified by:
getValidationErrors in interface ServiceCommand
Returns:
a collection of ValidationError objects describing why command validation failed

isAuthorized

public boolean isAuthorized()
Description copied from interface: ServiceCommand
Determine if the current user is authorized to execute this command. The "current user" for a command is the user returned by AuthenticatedUserThreadLocal.getUser().

Specified by:
isAuthorized in interface ServiceCommand
Returns:
true if the current user is authorized to execute this command, false otherwise.

execute

public void execute()
Description copied from interface: ServiceCommand
Execute the command. After execution, the command should offer any indication of the results or products of the command as implementation-specific getter methods.

Specified by:
execute in interface ServiceCommand


Copyright © 2003-2011 Atlassian. All Rights Reserved.