Record Class ToolDefinition.ToolParameter
java.lang.Object
java.lang.Record
group.worldstandard.pudel.api.agent.ToolDefinition.ToolParameter
- Enclosing class:
ToolDefinition
public static record ToolDefinition.ToolParameter(String name, Class<?> type, String description, boolean required, Object defaultValue)
extends Record
Represents a parameter for a tool, defining its characteristics such as name, type, description,
whether it is required, and its default value.
Provides a method to retrieve the type name suitable for LLM descriptions.
-
Constructor Summary
ConstructorsConstructorDescriptionToolParameter(String name, Class<?> type, String description, boolean required, Object defaultValue) Creates an instance of aToolParameterrecord class. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of thedefaultValuerecord component.Returns the value of thedescriptionrecord component.final booleanIndicates whether some other object is "equal to" this one.Returns the name of the parameter type as a string suitable for LLM descriptions.final inthashCode()Returns a hash code value for this object.name()Returns the value of thenamerecord component.booleanrequired()Returns the value of therequiredrecord component.final StringtoString()Returns a string representation of this record class.Class<?> type()Returns the value of thetyperecord component.
-
Constructor Details
-
ToolParameter
public ToolParameter(String name, Class<?> type, String description, boolean required, Object defaultValue) Creates an instance of aToolParameterrecord class.- Parameters:
name- the value for thenamerecord componenttype- the value for thetyperecord componentdescription- the value for thedescriptionrecord componentrequired- the value for therequiredrecord componentdefaultValue- the value for thedefaultValuerecord component
-
-
Method Details
-
getTypeName
Returns the name of the parameter type as a string suitable for LLM descriptions.Maps Java primitive and wrapper types to their corresponding JSON schema type names. For example,
Integerandintboth map to "integer", whileDoubleanddoublemap to "number".- Returns:
- the type name as a string; one of "string", "integer", "number", or "boolean"
-
toString
-
hashCode
-
equals
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 withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
name
Returns the value of thenamerecord component.- Returns:
- the value of the
namerecord component
-
type
Returns the value of thetyperecord component.- Returns:
- the value of the
typerecord component
-
description
Returns the value of thedescriptionrecord component.- Returns:
- the value of the
descriptionrecord component
-
required
public boolean required()Returns the value of therequiredrecord component.- Returns:
- the value of the
requiredrecord component
-
defaultValue
Returns the value of thedefaultValuerecord component.- Returns:
- the value of the
defaultValuerecord component
-