|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ServiceCommand
A command forming part of Confluence's service layer. Command instances are retrieved from service interfaces
(you should never instantiate a command object directly). For more information about the service layer,
see the documentation below. If you are creating a new service command, it is best to extend
AbstractServiceCommand
, as it enforces much of the contract that a command must obey.
The ServiceCommand interface is designed such that commands can be executed in two modes: either by calling the authorize/validate/execute methods separately, or by calling execute directly and dealing with authorization or validation failures as exceptions.
A well-behaved service command implementation must:
Service commands are not thread-safe.
AbstractServiceCommand
,
Confluence Service Layer DocumentationMethod Summary | |
---|---|
void |
execute()
Execute the command. |
java.util.Collection<ValidationError> |
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. |
Method Detail |
---|
boolean isValid()
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 isAuthorized()
. If the current user is not
authorized to execute this command, this method must throw a NotAuthorizedException
.
If this method returns false, then 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.
NotAuthorizedException
- if calling isValid()
on the command would return false.java.util.Collection<ValidationError> getValidationErrors()
isValid()
will always return an empty collection.
ValidationError
objects describing why command validation failedboolean isAuthorized()
AuthenticatedUserThreadLocal.getUser()
.
void execute()
NotAuthorizedException
- if calling isAuthorized()
on this command would return false
NotValidException
- if calling isValid()
on this command would return false
java.lang.IllegalStateException
- if the command has already been executed
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |