Record Class ParsedToolInvokeRequest

java.lang.Object
java.lang.Record
ai.wanaku.core.exchange.ParsedToolInvokeRequest

public record ParsedToolInvokeRequest(String uri, String body) extends Record
Represents a parsed tool invocation request containing the URI and its body.
  • Constructor Details

    • ParsedToolInvokeRequest

      public ParsedToolInvokeRequest(String uri, String body)
      Creates an instance of a ParsedToolInvokeRequest record class.
      Parameters:
      uri - the value for the uri record component
      body - the value for the body record component
  • Method Details

    • parseRequest

      public static ParsedToolInvokeRequest parseRequest(ToolInvokeRequest toolInvokeRequest)
      Parses the URI provided by the router
      Parameters:
      toolInvokeRequest - the invocation request (containing the arguments and the request URI)
      Returns:
      the parsed URI and its body
    • parseRequest

      public static ParsedToolInvokeRequest parseRequest(String uri, ToolInvokeRequest toolInvokeRequest)
      Parses a URI, ignoring the one provided by the router. This is used for services that rely on simplified tools/resources URI to hide the complexity of the implementation details (i.e.: such as overly complex Camel URIs).
      Parameters:
      uri - the actual URI that will be parsed. The parameters will be merged w/ the provided URI from the router.
      toolInvokeRequest - the invocation request (containing the arguments and the request URI)
      Returns:
      the parsed URI and its body
    • 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.
    • uri

      public String uri()
      Returns the value of the uri record component.
      Returns:
      the value of the uri record component
    • body

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