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

# Class RoleBasedAccessRateController

java.lang.Object
org.apache.synapse.commons.throttle.core.RoleBasedAccessRateController

public class RoleBasedAccessRateController extends Object
Controls the access of remote callers according to the controlling policy . This provides abstraction that need to control access based on caller IP or caller domain name. This implementation is thread safe.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RoleBasedAccessRateController()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AccessInformation`
  `canAccess(ThrottleContext throttleContext, String consumerKey, String roleID)`
  To check whether caller can access not not base on the controlling policy
  `AccessInformation`
  `canAccess(ThrottleContext throttleContext, String consumerKey, String roleID, Long eventCount)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RoleBasedAccessRateController

    public RoleBasedAccessRateController()

- ## Method Details

  - ### canAccess

    public AccessInformation canAccess(ThrottleContext throttleContext, String consumerKey, String roleID) throws ThrottleException
    To check whether caller can access not not base on the controlling policy
    Parameters:
      `throttleContext` - - current states of throttle - RunTime Data
      `roleID` - - Identifier for remote caller - ex: ip or domainname
    Returns:
      access information
    Throws:
      `ThrottleException`

  - ### canAccess

    public AccessInformation canAccess(ThrottleContext throttleContext, String consumerKey, String roleID, Long eventCount) throws ThrottleException
    Throws:
      `ThrottleException`