Record Class ApiKey<G>

java.lang.Object
java.lang.Record
dev.relism.flash.ext.security.apikey.ApiKey<G>
Record Components:
expiresAt - null for a key that does not expire
revokedAt - null for a key that has not been revoked

public record ApiKey<G>(String id, String secretHash, G grant, Instant expiresAt, Instant revokedAt) extends Record
An API key as the application stores it: never the secret, only its hash, and the grant it was issued with — whatever the application authorizes on.
  • Constructor Details

    • ApiKey

      public ApiKey(String id, String secretHash, G grant, Instant expiresAt, Instant revokedAt)
      Creates an instance of a ApiKey record class.
      Parameters:
      id - the value for the id record component
      secretHash - the value for the secretHash record component
      grant - the value for the grant record component
      expiresAt - the value for the expiresAt record component
      revokedAt - the value for the revokedAt 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. All components in this record class are compared with Objects::equals(Object,Object).
      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.
    • id

      public String id()
      Returns the value of the id record component.
      Returns:
      the value of the id record component
    • secretHash

      public String secretHash()
      Returns the value of the secretHash record component.
      Returns:
      the value of the secretHash record component
    • grant

      public G grant()
      Returns the value of the grant record component.
      Returns:
      the value of the grant record component
    • expiresAt

      public Instant expiresAt()
      Returns the value of the expiresAt record component.
      Returns:
      the value of the expiresAt record component
    • revokedAt

      public Instant revokedAt()
      Returns the value of the revokedAt record component.
      Returns:
      the value of the revokedAt record component