# Interface IdCommandExecutorType<S extends IdSessionType, C extends IdCommandContext<R,S>, M extends IdProtocolMessageType, R extends IdProtocolMessageType>

Type Parameters:
  `S` - The type of sessions
  `C` - The type of command contexts
  `M` - The type of accepted commands
  `R` - The type of responses

All Known Implementing Classes:
  `IdACmdAbstract, IdACmdAdminBanCreate, IdACmdAdminBanDelete, IdACmdAdminBanGet, IdACmdAdminCreate, IdACmdAdminDelete, IdACmdAdminEmailAdd, IdACmdAdminEmailRemove, IdACmdAdminGet, IdACmdAdminGetByEmail, IdACmdAdminLogin, IdACmdAdminPermissionGrant, IdACmdAdminPermissionRevoke, IdACmdAdminSearchBegin, IdACmdAdminSearchByEmailBegin, IdACmdAdminSearchByEmailNext, IdACmdAdminSearchByEmailPrevious, IdACmdAdminSearchNext, IdACmdAdminSearchPrevious, IdACmdAdminSelf, IdACmdAdminUpdateCredentials, IdACmdAdminUpdatePasswordExpiration, IdACmdAuditSearchBegin, IdACmdAuditSearchNext, IdACmdAuditSearchPrevious, IdACmdMailTest, IdACmdMaintenanceModeSet, IdACmdUserBanCreate, IdACmdUserBanDelete, IdACmdUserBanGet, IdACmdUserCreate, IdACmdUserDelete, IdACmdUserEmailAdd, IdACmdUserEmailRemove, IdACmdUserGet, IdACmdUserGetByEmail, IdACmdUserLoginHistory, IdACmdUserSearchBegin, IdACmdUserSearchByEmailBegin, IdACmdUserSearchByEmailNext, IdACmdUserSearchByEmailPrevious, IdACmdUserSearchNext, IdACmdUserSearchPrevious, IdACmdUserUpdateCredentials, IdACmdUserUpdatePasswordExpiration, IdACommandExecutor, IdUCmdAbstract, IdUCmdEmailAddBegin, IdUCmdEmailAddDeny, IdUCmdEmailAddPermit, IdUCmdEmailRemoveBegin, IdUCmdEmailRemoveDeny, IdUCmdEmailRemovePermit, IdUCmdLogin, IdUCmdPasswordUpdate, IdUCmdRealNameUpdate, IdUCmdUserSelf, IdUCommandExecutor`

public interface IdCommandExecutorType<S extends IdSessionType, C extends IdCommandContext<R,S>, M extends IdProtocolMessageType, R extends IdProtocolMessageType>
The type of command executors.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `R`
  `execute(C context, M command)`
  Execute a command.

- ## Method Details

  - ### execute

    R execute(C context, M command) throws IdCommandExecutionFailure, IOException, InterruptedException
    Execute a command.
    Parameters:
      `context` - The execution context
      `command` - The command
    Returns:
      The result of execution
    Throws:
      `IdCommandExecutionFailure` - On errors
      `InterruptedException` - On interruption
      `IOException` - On I/O errors