001package com.box.sdkgen.schemas.aiagentlongtexttooltextgen; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.fasterxml.jackson.annotation.JsonFilter; 006import java.util.Objects; 007 008@JsonFilter("nullablePropertyFilter") 009public class AiAgentLongTextToolTextGenEmbeddingsField extends SerializableObject { 010 011 /** The model used for the AI agent for calculating embeddings. */ 012 protected String model; 013 014 protected AiAgentLongTextToolTextGenEmbeddingsStrategyField strategy; 015 016 public AiAgentLongTextToolTextGenEmbeddingsField() { 017 super(); 018 } 019 020 protected AiAgentLongTextToolTextGenEmbeddingsField(Builder builder) { 021 super(); 022 this.model = builder.model; 023 this.strategy = builder.strategy; 024 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 025 } 026 027 public String getModel() { 028 return model; 029 } 030 031 public AiAgentLongTextToolTextGenEmbeddingsStrategyField getStrategy() { 032 return strategy; 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 AiAgentLongTextToolTextGenEmbeddingsField casted = 044 (AiAgentLongTextToolTextGenEmbeddingsField) o; 045 return Objects.equals(model, casted.model) && Objects.equals(strategy, casted.strategy); 046 } 047 048 @Override 049 public int hashCode() { 050 return Objects.hash(model, strategy); 051 } 052 053 @Override 054 public String toString() { 055 return "AiAgentLongTextToolTextGenEmbeddingsField{" 056 + "model='" 057 + model 058 + '\'' 059 + ", " 060 + "strategy='" 061 + strategy 062 + '\'' 063 + "}"; 064 } 065 066 public static class Builder extends NullableFieldTracker { 067 068 protected String model; 069 070 protected AiAgentLongTextToolTextGenEmbeddingsStrategyField strategy; 071 072 public Builder model(String model) { 073 this.model = model; 074 return this; 075 } 076 077 public Builder strategy(AiAgentLongTextToolTextGenEmbeddingsStrategyField strategy) { 078 this.strategy = strategy; 079 return this; 080 } 081 082 public AiAgentLongTextToolTextGenEmbeddingsField build() { 083 return new AiAgentLongTextToolTextGenEmbeddingsField(this); 084 } 085 } 086}