Record Class APIKeySecurityScheme

java.lang.Object
java.lang.Record
org.a2aproject.sdk.spec.APIKeySecurityScheme
Record Components:
location - the location where the API key is sent (required)
name - the name of the API key parameter (required)
description - a human-readable description (optional)
All Implemented Interfaces:
SecurityScheme

public record APIKeySecurityScheme(APIKeySecurityScheme.Location location, String name, @Nullable String description) extends Record implements SecurityScheme
API key security scheme for agent authentication.

This security scheme uses an API key that can be sent in a header, query parameter, or cookie to authenticate requests to the agent.

Corresponds to the OpenAPI "apiKey" security scheme type.

See Also:
  • Field Details

    • TYPE

      public static final String TYPE
      The security scheme type identifier for API key authentication.
      See Also:
  • Constructor Details

    • APIKeySecurityScheme

      public APIKeySecurityScheme(APIKeySecurityScheme.Location location, String name, @Nullable String description)
      Compact constructor with validation.
      Parameters:
      location - the location where the API key is sent (required)
      name - the name of the API key parameter (required)
      description - a human-readable description (optional)
      Throws:
      IllegalArgumentException - if location or name is null
  • Method Details

    • type

      public String type()
      Description copied from interface: SecurityScheme
      Returns the type of the security scheme.
      Specified by:
      type in interface SecurityScheme
      Returns:
      the type of the security scheme.
    • builder

      public static APIKeySecurityScheme.Builder builder()
      Create a new Builder
      Returns:
      the builder
    • 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.
    • location

      public APIKeySecurityScheme.Location location()
      Returns the value of the location record component.
      Returns:
      the value of the location record component
    • name

      public String name()
      Returns the value of the name record component.
      Returns:
      the value of the name record component
    • description

      public @Nullable String description()
      Returns the value of the description record component.
      Specified by:
      description in interface SecurityScheme
      Returns:
      the value of the description record component