From 1b38466f44ccfb9de3d9ef7610acdfa58be1075b Mon Sep 17 00:00:00 2001 From: Markus Klenke Date: Fri, 27 Dec 2024 23:05:08 +0100 Subject: [PATCH] Adds BigDecimal type for ToolProperty typeCast --- .../tools/ReflectionalToolFunction.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/io/github/ollama4j/tools/ReflectionalToolFunction.java b/src/main/java/io/github/ollama4j/tools/ReflectionalToolFunction.java index 8483d84..66d078b 100644 --- a/src/main/java/io/github/ollama4j/tools/ReflectionalToolFunction.java +++ b/src/main/java/io/github/ollama4j/tools/ReflectionalToolFunction.java @@ -5,6 +5,7 @@ import lombok.Getter; import lombok.Setter; import java.lang.reflect.Method; +import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -38,14 +39,15 @@ public class ReflectionalToolFunction implements ToolFunction{ return null; } String inputValueString = inputValue.toString(); - if("java.lang.Integer".equals(className)){ - return Integer.parseInt(inputValueString); - } - if("java.lang.Boolean".equals(className)){ - return Boolean.valueOf(inputValueString); - } - else { - return inputValueString; + switch (className) { + case "java.lang.Integer": + return Integer.parseInt(inputValueString); + case "java.lang.Boolean": + return Boolean.valueOf(inputValueString); + case "java.math.BigDecimal": + return new BigDecimal(inputValueString); + default: + return inputValueString; } }