Record Class RateLimitGuard.RateLimitInfo

java.lang.Object
java.lang.Record
org.apache.juneau.rest.server.guard.RateLimitGuard.RateLimitInfo
Record Components:
key - The per-request key (e.g. remote address, principal name).
limit - The bucket capacity (also reported as X-RateLimit-Limit).
remaining - Tokens remaining after this acquisition attempt. Zero when the request was rejected.
secondsUntilReset - Seconds until the bucket is full again (also reported as X-RateLimit-Reset).
allowed - true if the request was admitted; false if the bucket was empty.
Enclosing class:
RateLimitGuard

public static record RateLimitGuard.RateLimitInfo(String key, int limit, int remaining, long secondsUntilReset, boolean allowed) extends Record
Snapshot of rate-limit state passed to the onLimitExceeded callback and used to populate advisory response headers.
  • Constructor Summary

    Constructors
    Constructor
    Description
    RateLimitInfo(String key, int limit, int remaining, long secondsUntilReset, boolean allowed)
    Creates an instance of a RateLimitInfo record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns the value of the allowed record component.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    key()
    Returns the value of the key record component.
    int
    Returns the value of the limit record component.
    int
    Returns the value of the remaining record component.
    long
    Returns the value of the secondsUntilReset record component.
    final String
    Returns a string representation of this record class.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RateLimitInfo

      public RateLimitInfo(String key, int limit, int remaining, long secondsUntilReset, boolean allowed)
      Creates an instance of a RateLimitInfo record class.
      Parameters:
      key - the value for the key record component
      limit - the value for the limit record component
      remaining - the value for the remaining record component
      secondsUntilReset - the value for the secondsUntilReset record component
      allowed - the value for the allowed record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • key

      public String key()
      Returns the value of the key record component.
      Returns:
      the value of the key record component
    • limit

      public int limit()
      Returns the value of the limit record component.
      Returns:
      the value of the limit record component
    • remaining

      public int remaining()
      Returns the value of the remaining record component.
      Returns:
      the value of the remaining record component
    • secondsUntilReset

      public long secondsUntilReset()
      Returns the value of the secondsUntilReset record component.
      Returns:
      the value of the secondsUntilReset record component
    • allowed

      public boolean allowed()
      Returns the value of the allowed record component.
      Returns:
      the value of the allowed record component