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

  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 Details

  - ### 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.