001package com.box.sdkgen.schemas.aistudioagentspreadsheettoolresponse; 002 003import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams; 004import com.box.sdkgen.schemas.aillmendpointparamsaws.AiLlmEndpointParamsAws; 005import com.box.sdkgen.schemas.aillmendpointparamsgoogle.AiLlmEndpointParamsGoogle; 006import com.box.sdkgen.schemas.aillmendpointparamsibm.AiLlmEndpointParamsIbm; 007import com.box.sdkgen.schemas.aillmendpointparamsopenai.AiLlmEndpointParamsOpenAi; 008import com.box.sdkgen.schemas.aistudioagentspreadsheettool.AiStudioAgentSpreadsheetTool; 009import com.fasterxml.jackson.annotation.JsonFilter; 010import java.util.List; 011import java.util.Objects; 012 013/** The AI agent tool used to handle spreadsheets and tabular data. */ 014@JsonFilter("nullablePropertyFilter") 015public class AiStudioAgentSpreadsheetToolResponse extends AiStudioAgentSpreadsheetTool { 016 017 /** Warnings concerning tool. */ 018 protected List<String> warnings; 019 020 public AiStudioAgentSpreadsheetToolResponse() { 021 super(); 022 } 023 024 protected AiStudioAgentSpreadsheetToolResponse(Builder builder) { 025 super(builder); 026 this.warnings = builder.warnings; 027 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 028 } 029 030 public List<String> getWarnings() { 031 return warnings; 032 } 033 034 @Override 035 public boolean equals(Object o) { 036 if (this == o) { 037 return true; 038 } 039 if (o == null || getClass() != o.getClass()) { 040 return false; 041 } 042 AiStudioAgentSpreadsheetToolResponse casted = (AiStudioAgentSpreadsheetToolResponse) o; 043 return Objects.equals(model, casted.model) 044 && Objects.equals(numTokensForCompletion, casted.numTokensForCompletion) 045 && Objects.equals(llmEndpointParams, casted.llmEndpointParams) 046 && Objects.equals(warnings, casted.warnings); 047 } 048 049 @Override 050 public int hashCode() { 051 return Objects.hash(model, numTokensForCompletion, llmEndpointParams, warnings); 052 } 053 054 @Override 055 public String toString() { 056 return "AiStudioAgentSpreadsheetToolResponse{" 057 + "model='" 058 + model 059 + '\'' 060 + ", " 061 + "numTokensForCompletion='" 062 + numTokensForCompletion 063 + '\'' 064 + ", " 065 + "llmEndpointParams='" 066 + llmEndpointParams 067 + '\'' 068 + ", " 069 + "warnings='" 070 + warnings 071 + '\'' 072 + "}"; 073 } 074 075 public static class Builder extends AiStudioAgentSpreadsheetTool.Builder { 076 077 protected List<String> warnings; 078 079 public Builder warnings(List<String> warnings) { 080 this.warnings = warnings; 081 return this; 082 } 083 084 @Override 085 public Builder model(String model) { 086 this.model = model; 087 return this; 088 } 089 090 @Override 091 public Builder numTokensForCompletion(Long numTokensForCompletion) { 092 this.numTokensForCompletion = numTokensForCompletion; 093 return this; 094 } 095 096 @Override 097 public Builder llmEndpointParams(AiLlmEndpointParamsOpenAi llmEndpointParams) { 098 this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams); 099 return this; 100 } 101 102 @Override 103 public Builder llmEndpointParams(AiLlmEndpointParamsGoogle llmEndpointParams) { 104 this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams); 105 return this; 106 } 107 108 @Override 109 public Builder llmEndpointParams(AiLlmEndpointParamsAws llmEndpointParams) { 110 this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams); 111 return this; 112 } 113 114 @Override 115 public Builder llmEndpointParams(AiLlmEndpointParamsIbm llmEndpointParams) { 116 this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams); 117 return this; 118 } 119 120 @Override 121 public Builder llmEndpointParams(AiLlmEndpointParams llmEndpointParams) { 122 this.llmEndpointParams = llmEndpointParams; 123 return this; 124 } 125 126 public AiStudioAgentSpreadsheetToolResponse build() { 127 return new AiStudioAgentSpreadsheetToolResponse(this); 128 } 129 } 130}