# Uses of Class
org.apache.synapse.commons.throttle.core.ThrottleContext

Packages that use ThrottleContext
Package
Description
org.apache.synapse.commons.throttle.core
org.apache.synapse.commons.throttle.core.factory
org.apache.synapse.commons.throttle.core.impl.domainbase
org.apache.synapse.commons.throttle.core.impl.ipbase
org.apache.synapse.commons.throttle.core.impl.rolebase
org.apache.synapse.commons.throttle.core.internal

- ## Uses of ThrottleContext in org.apache.synapse.commons.throttle.core

  Methods in org.apache.synapse.commons.throttle.core that return ThrottleContext
  Modifier and Type
  Method
  Description
  `ThrottleContext`
  Throttle.`getThrottleContext(String contextID)`
  Returns the ThrotleContext for a given key - context holds all runtime data for registered callers
  `ThrottleContext`
  ThrottleDataHolder.`getThrottleContext(String applicationId)`
  Methods in org.apache.synapse.commons.throttle.core with parameters of type ThrottleContext
  Modifier and Type
  Method
  Description
  `void`
  Throttle.`addThrottleContext(String key, ThrottleContext throttleContext)`
  Adds a ThrotleContext with the given key - context holds all runtime data for registered callers
  `void`
  ThrottleContextCleanupTask.`addThrottleContext(ThrottleContext throttleContext)`
  `void`
  ThrottleDataHolder.`addThrottleContext(String applicationId, ThrottleContext applicationThrottleContext)`
  `AccessInformation`
  AccessRateController.`canAccess(ThrottleContext throttleContext, String callerID, int callerType)`
  To check whether caller can access not not base on the controlling policy
  `boolean`
  CallerContext.`canAccess(ThrottleContext throttleContext, CallerConfiguration configuration, long currentTime)`
  Check whether that caller can access or not ,based on current state and pre-defined policy
  `boolean`
  CallerContext.`canAccess(ThrottleContext throttleContext, CallerConfiguration configuration, long currentTime, Long eventCount)`
  Check whether that caller can access or not, based on current state and pre-defined policy
  `AccessInformation`
  RoleBasedAccessRateController.`canAccess(ThrottleContext throttleContext, String consumerKey, String roleID)`
  To check whether caller can access not not base on the controlling policy
  `AccessInformation`
  RoleBasedAccessRateController.`canAccess(ThrottleContext throttleContext, String consumerKey, String roleID, Long eventCount)`
  `void`
  CallerContext.`cleanUpCallers(CallerConfiguration configuration, ThrottleContext throttleContext, long currentTime)`
  Clean up the callers - remove all callers that have expired their time window

- ## Uses of ThrottleContext in org.apache.synapse.commons.throttle.core.factory

  Methods in org.apache.synapse.commons.throttle.core.factory that return ThrottleContext
  Modifier and Type
  Method
  Description
  `static ThrottleContext`
  ThrottleContextFactory.`createThrottleContext(int throttletype, ThrottleConfiguration configuration)`
  To create a ThrottleContext for the given throttle type Needs to provide a throttle configuration

- ## Uses of ThrottleContext in org.apache.synapse.commons.throttle.core.impl.domainbase

  Subclasses of ThrottleContext in org.apache.synapse.commons.throttle.core.impl.domainbase
  Modifier and Type
  Class
  Description
  `class`
  `DomainBaseThrottleContext`
  Holds all the run time data for all domain based remote callers

- ## Uses of ThrottleContext in org.apache.synapse.commons.throttle.core.impl.ipbase

  Subclasses of ThrottleContext in org.apache.synapse.commons.throttle.core.impl.ipbase
  Modifier and Type
  Class
  Description
  `class`
  `IPBaseThrottleContext`
  Holds all the run time data for all IP based remote callers

- ## Uses of ThrottleContext in org.apache.synapse.commons.throttle.core.impl.rolebase

  Subclasses of ThrottleContext in org.apache.synapse.commons.throttle.core.impl.rolebase
  Modifier and Type
  Class
  Description
  `class`
  `RoleBaseThrottleContext`

- ## Uses of ThrottleContext in org.apache.synapse.commons.throttle.core.internal

  Methods in org.apache.synapse.commons.throttle.core.internal with parameters of type ThrottleContext
  Modifier and Type
  Method
  Description
  `boolean`
  DistributedThrottleProcessor.`canAccessBasedOnUnitTime(CallerContext callerContext, CallerConfiguration configuration, ThrottleContext throttleContext, RequestContext requestContext)`
  `boolean`
  DistributedThrottleProcessor.`canAccessIfUnitTimeNotOver(CallerContext callerContext, CallerConfiguration configuration, ThrottleContext throttleContext, RequestContext requestContext)`
  `boolean`
  DistributedThrottleProcessor.`canAccessIfUnitTimeOver(CallerContext callerContext, CallerConfiguration configuration, ThrottleContext throttleContext, RequestContext requestContext)`