com.comtrade.ecm.engine.business.actions

## Interface EntityAction<E extends Persistable,T,R,A extends ApplicationUser>

- Type Parameters:
    `E` - EntityType
    `T` - ActionRequestType
    `R` - ActionResponseType
    `A` - ApplicationUser
  All Superinterfaces:
    EcmAction

      public interface EntityAction<E extends Persistable,T,R,A extends ApplicationUser>
      extends EcmAction

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkAvailability(E entity, A user)`
    `void` | `checkPermissions(E entity, A user)`
    `R` | `execute(A user, E entity, T parameters)`

    - ### Methods inherited from interface com.comtrade.ecm.engine.business.actions.EcmAction

      `getDescription, getName, getSuccessDescription, getTitle`

- - ### Method Detail

    - #### checkPermissions

          void checkPermissions(E entity,
                                A user)
                         throws ActionHasNoRightsException

      Throws:
        `ActionHasNoRightsException`

    - #### checkAvailability

          void checkAvailability(E entity,
                                 A user)
                          throws ActionNotAvailableException

      Throws:
        `ActionNotAvailableException`

    - #### execute

          R execute(A user,
                    E entity,
                    T parameters)
             throws EcmException

      Throws:
        `EcmException`