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

# Class ConcurrentAccessController

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

All Implemented Interfaces:
  `Serializable`

public class ConcurrentAccessController extends Object implements Serializable
Controls the concurrent access through throttle to the system based on policy

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConcurrentAccessController(int limit)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getAndDecrement()`
  Decrements by one the current value and Returns the previous value
  `int`
  `getLimit()`
  Gets the Max number of access - access limit
  `int`
  `incrementAndGet()`
  Increments by one the current value and Returns the the updated value
  `void`
  `set(int newValue)`
  Resets the counter and the limit
  `void`
  `updateCounter(boolean isIncrement)`

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

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

- ## Constructor Details

  - ### ConcurrentAccessController

    public ConcurrentAccessController(int limit)

- ## Method Details

  - ### getAndDecrement

    public int getAndDecrement()
    Decrements by one the current value and Returns the previous value
    Returns:
      the previous value

  - ### incrementAndGet

    public int incrementAndGet()
    Increments by one the current value and Returns the the updated value
    Returns:
      the updated value

  - ### getLimit

    public int getLimit()
    Gets the Max number of access - access limit
    Returns:
      the limit

  - ### set

    public void set(int newValue)
    Resets the counter and the limit
    Parameters:
      `newValue` - The new Value

  - ### updateCounter

    public void updateCounter(boolean isIncrement)