Package org.apache.synapse.commons.throttle.core

## Interface ThrottleConfiguration

- All Known Implementing Classes:
    `DomainBaseThrottleConfiguration`, `IPBaseThrottleConfiguration`, `RoleBaseThrottleConfiguration`

      public interface ThrottleConfiguration

  The abstraction to holds all the controlling policy parameter

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addCallerConfiguration​(CallerConfiguration callerConfiguration)` | To add a CallerConfiguration - The controlling policy for a caller
    `CallerConfiguration` | `getCallerConfiguration​(String ID)` | To get a CallerConfiguration - The controlling policy for a caller
    `String` | `getConfigurationKeyOfCaller​(String callerID)` | To get a access key for a caller (In the case of group ID)
    `int` | `getType()` | To get the type of the throttle

- - ### Method Detail

    - #### addCallerConfiguration

          void addCallerConfiguration​(CallerConfiguration callerConfiguration)

      To add a CallerConfiguration - The controlling policy for a caller
      Parameters:
        `callerConfiguration` - The caller configuration data

    - #### getCallerConfiguration

          CallerConfiguration getCallerConfiguration​(String ID)

      To get a CallerConfiguration - The controlling policy for a caller
      Parameters:
        `ID` - The ID of the caller (ip/domain name)
      Returns:
        CallerConfiguration

    - #### getConfigurationKeyOfCaller

          String getConfigurationKeyOfCaller​(String callerID)

      To get a access key for a caller (In the case of group ID)
      Parameters:
        `callerID` - - The ID of the caller (ip/domain name)
      Returns:
        String -The pre-define key with in policy

    - #### getType

          int getType()

      To get the type of the throttle
      Returns:
        the type of the throttle