Record Class MetaKey

java.lang.Object
java.lang.Record
io.quarkiverse.mcp.server.MetaKey

public record MetaKey(String prefix, String name) extends Record
A key for additional metadata defined in the _meta part of the message.

_meta keys have two segments: an optional prefix, and a name.

  • Constructor Summary

    Constructors
    Constructor
    Description
    MetaKey(String prefix, String name)
    Creates an instance of a MetaKey record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    final boolean
    Indicates whether some other object is "equal to" this one.
    static MetaKey
    from(String value)
    Create a new key from the specified string value, i.e. from foo.bar/myKey.
    final int
    Returns a hash code value for this object.
    static boolean
     
    static boolean
     
    Returns the value of the name record component.
    static MetaKey
    of(String name)
    Create a new key with the specified name but without a prefix.
    static MetaKey
    of(String name, String... prefixLabels)
    Create a new key with the specified name and the prefix is built from the supplied labels.
    Returns the value of the prefix record component.
    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

    • MetaKey

      public MetaKey(String prefix, String name)
      Creates an instance of a MetaKey record class.
      Parameters:
      prefix - the value for the prefix record component
      name - the value for the name record component
  • Method Details

    • from

      public static MetaKey from(String value)
      Create a new key from the specified string value, i.e. from foo.bar/myKey.
      Parameters:
      value -
      Returns:
      the key
    • of

      public static MetaKey of(String name)
      Create a new key with the specified name but without a prefix.
      Parameters:
      name -
      Returns:
      the key
    • of

      public static MetaKey of(String name, String... prefixLabels)
      Create a new key with the specified name and the prefix is built from the supplied labels.

      Note that modelcontextprotocol and mcp labels are reserved for MCP spec.

      Parameters:
      name -
      Returns:
      the key
    • toString

      public 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
    • isValidName

      public static boolean isValidName(String value)
    • isValidPrefix

      public static boolean isValidPrefix(String value)
    • 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.
    • prefix

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

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