001package com.box.sdkgen.schemas.aistudioagentlongtexttoolresponse;
002
003import com.box.sdkgen.schemas.aiagentlongtexttool.AiAgentLongTextToolEmbeddingsField;
004import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams;
005import com.box.sdkgen.schemas.aillmendpointparamsaws.AiLlmEndpointParamsAws;
006import com.box.sdkgen.schemas.aillmendpointparamsgoogle.AiLlmEndpointParamsGoogle;
007import com.box.sdkgen.schemas.aillmendpointparamsibm.AiLlmEndpointParamsIbm;
008import com.box.sdkgen.schemas.aillmendpointparamsopenai.AiLlmEndpointParamsOpenAi;
009import com.box.sdkgen.schemas.aistudioagentlongtexttool.AiStudioAgentLongTextTool;
010import com.fasterxml.jackson.annotation.JsonFilter;
011import java.util.List;
012import java.util.Objects;
013
014/** AI agent processor used to to handle longer text. */
015@JsonFilter("nullablePropertyFilter")
016public class AiStudioAgentLongTextToolResponse extends AiStudioAgentLongTextTool {
017
018  /** Warnings concerning tool. */
019  protected List<String> warnings;
020
021  public AiStudioAgentLongTextToolResponse() {
022    super();
023  }
024
025  protected AiStudioAgentLongTextToolResponse(Builder builder) {
026    super(builder);
027    this.warnings = builder.warnings;
028    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
029  }
030
031  public List<String> getWarnings() {
032    return warnings;
033  }
034
035  @Override
036  public boolean equals(Object o) {
037    if (this == o) {
038      return true;
039    }
040    if (o == null || getClass() != o.getClass()) {
041      return false;
042    }
043    AiStudioAgentLongTextToolResponse casted = (AiStudioAgentLongTextToolResponse) o;
044    return Objects.equals(model, casted.model)
045        && Objects.equals(numTokensForCompletion, casted.numTokensForCompletion)
046        && Objects.equals(llmEndpointParams, casted.llmEndpointParams)
047        && Objects.equals(systemMessage, casted.systemMessage)
048        && Objects.equals(promptTemplate, casted.promptTemplate)
049        && Objects.equals(embeddings, casted.embeddings)
050        && Objects.equals(isCustomInstructionsIncluded, casted.isCustomInstructionsIncluded)
051        && Objects.equals(warnings, casted.warnings);
052  }
053
054  @Override
055  public int hashCode() {
056    return Objects.hash(
057        model,
058        numTokensForCompletion,
059        llmEndpointParams,
060        systemMessage,
061        promptTemplate,
062        embeddings,
063        isCustomInstructionsIncluded,
064        warnings);
065  }
066
067  @Override
068  public String toString() {
069    return "AiStudioAgentLongTextToolResponse{"
070        + "model='"
071        + model
072        + '\''
073        + ", "
074        + "numTokensForCompletion='"
075        + numTokensForCompletion
076        + '\''
077        + ", "
078        + "llmEndpointParams='"
079        + llmEndpointParams
080        + '\''
081        + ", "
082        + "systemMessage='"
083        + systemMessage
084        + '\''
085        + ", "
086        + "promptTemplate='"
087        + promptTemplate
088        + '\''
089        + ", "
090        + "embeddings='"
091        + embeddings
092        + '\''
093        + ", "
094        + "isCustomInstructionsIncluded='"
095        + isCustomInstructionsIncluded
096        + '\''
097        + ", "
098        + "warnings='"
099        + warnings
100        + '\''
101        + "}";
102  }
103
104  public static class Builder extends AiStudioAgentLongTextTool.Builder {
105
106    protected List<String> warnings;
107
108    public Builder warnings(List<String> warnings) {
109      this.warnings = warnings;
110      return this;
111    }
112
113    @Override
114    public Builder model(String model) {
115      this.model = model;
116      return this;
117    }
118
119    @Override
120    public Builder numTokensForCompletion(Long numTokensForCompletion) {
121      this.numTokensForCompletion = numTokensForCompletion;
122      return this;
123    }
124
125    @Override
126    public Builder llmEndpointParams(AiLlmEndpointParamsOpenAi llmEndpointParams) {
127      this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams);
128      return this;
129    }
130
131    @Override
132    public Builder llmEndpointParams(AiLlmEndpointParamsGoogle llmEndpointParams) {
133      this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams);
134      return this;
135    }
136
137    @Override
138    public Builder llmEndpointParams(AiLlmEndpointParamsAws llmEndpointParams) {
139      this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams);
140      return this;
141    }
142
143    @Override
144    public Builder llmEndpointParams(AiLlmEndpointParamsIbm llmEndpointParams) {
145      this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams);
146      return this;
147    }
148
149    @Override
150    public Builder llmEndpointParams(AiLlmEndpointParams llmEndpointParams) {
151      this.llmEndpointParams = llmEndpointParams;
152      return this;
153    }
154
155    @Override
156    public Builder systemMessage(String systemMessage) {
157      this.systemMessage = systemMessage;
158      return this;
159    }
160
161    @Override
162    public Builder promptTemplate(String promptTemplate) {
163      this.promptTemplate = promptTemplate;
164      return this;
165    }
166
167    @Override
168    public Builder embeddings(AiAgentLongTextToolEmbeddingsField embeddings) {
169      this.embeddings = embeddings;
170      return this;
171    }
172
173    @Override
174    public Builder isCustomInstructionsIncluded(Boolean isCustomInstructionsIncluded) {
175      this.isCustomInstructionsIncluded = isCustomInstructionsIncluded;
176      return this;
177    }
178
179    public AiStudioAgentLongTextToolResponse build() {
180      return new AiStudioAgentLongTextToolResponse(this);
181    }
182  }
183}