Package org.wso2.carbon.registry.admin.api.handler

## Interface IHandlerManagementService<SimulationResponse,​SimulationRequest>

- Type Parameters:
    `SimulationResponse` - This object contains the execution status of a set of handlers used in a simulation operation. The returned simulation response object contains an array of HandlerSimulationStatus objects, which contains the name of the handler the execution status.
    `SimulationRequest` - This object contains the parameters required for performing a simulation of handlers on the registry. This object can capture information such as operation, mediaType, path and other optional parameters.

      public interface IHandlerManagementService<SimulationResponse,​SimulationRequest>

  Provides functionality to list (view, edit, delete), and simulate handlers configured on the Registry.
  Statistics:
  - createHandler
  - deleteHandler
  - updateHandler

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `createHandler​(String payload)` | Method to create a handler using the provided configuration.
    `boolean` | `deleteHandler​(String name)` | Method to delete the configuration of a named handler.
    `String` | `getHandlerCollectionLocation()` | Method to obtain the location at which the handler collection is stored on the registry.
    `String` | `getHandlerConfiguration​(String name)` | Method to obtain the configuration of a named handler.
    `String[]` | `getHandlerList()` | Method to obtain the list of handlers that have been configured through the Handler Administration API.
    `void` | `setHandlerCollectionLocation​(String location)` | Method to set the location at which the handler collection is stored on the registry.
    `SimulationResponse` | `simulate​(SimulationRequest request)` | Method to simulate handlers on a registry.
    `boolean` | `updateHandler​(String name, String payload)` | Method to update the configuration of a named handler, using the provided configuration

- - ### Method Detail

    - #### getHandlerCollectionLocation

          String getHandlerCollectionLocation()
                                       throws Exception

      Method to obtain the location at which the handler collection is stored on the registry.
      Returns:
        the resource path of the handler collection.
      Throws:
        `Exception` - if the operation failed.

    - #### setHandlerCollectionLocation

          void setHandlerCollectionLocation​(String location)
                                     throws Exception

      Method to set the location at which the handler collection is stored on the registry.
      Parameters:
        `location` - the resource path of the handler collection.
      Throws:
        `Exception` - if the operation failed.

    - #### getHandlerList

          String[] getHandlerList()
                           throws Exception

      Method to obtain the list of handlers that have been configured through the Handler Administration API.
      Returns:
        the list of handlers.
      Throws:
        `Exception` - if the operation failed.

    - #### getHandlerConfiguration

          String getHandlerConfiguration​(String name)
                                  throws Exception

      Method to obtain the configuration of a named handler.
      Parameters:
        `name` - the name of the handler.
      Returns:
        the handler configuration.
      Throws:
        `Exception` - if the operation failed.

    - #### deleteHandler

          boolean deleteHandler​(String name)
                         throws Exception

      Method to delete the configuration of a named handler.
      Parameters:
        `name` - the name of the handler.
      Returns:
        whether the operation was successful.
      Throws:
        `Exception` - if an error occurred.

    - #### createHandler

          boolean createHandler​(String payload)
                         throws Exception

      Method to create a handler using the provided configuration.
      Parameters:
        `payload` - the handler configuration.
      Returns:
        whether the operation was successful.
      Throws:
        `Exception` - if an error occurred.

    - #### updateHandler

          boolean updateHandler​(String name,
                                String payload)
                         throws Exception

      Method to update the configuration of a named handler, using the provided configuration
      Parameters:
        `name` - the name of the handler.
        `payload` - the handler configuration.
      Returns:
        whether the operation was successful.
      Throws:
        `Exception` - if an error occurred.

    - #### simulate

          SimulationResponse simulate​(SimulationRequest request)
                               throws Exception

      Method to simulate handlers on a registry.
      Parameters:
        `request` - the simulation request object.
      Returns:
        the response containing the status of the handler execution.
      Throws:
        `Exception` - if the operation failed.