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

  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 Details

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