001package com.box.sdkgen.schemas.aiagentlongtexttool; 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 AiAgentLongTextToolEmbeddingsField extends SerializableObject { 010 011 /** The model used for the AI agent for calculating embeddings. */ 012 protected String model; 013 014 protected AiAgentLongTextToolEmbeddingsStrategyField strategy; 015 016 public AiAgentLongTextToolEmbeddingsField() { 017 super(); 018 } 019 020 protected AiAgentLongTextToolEmbeddingsField(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 AiAgentLongTextToolEmbeddingsStrategyField 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 AiAgentLongTextToolEmbeddingsField casted = (AiAgentLongTextToolEmbeddingsField) o; 044 return Objects.equals(model, casted.model) && Objects.equals(strategy, casted.strategy); 045 } 046 047 @Override 048 public int hashCode() { 049 return Objects.hash(model, strategy); 050 } 051 052 @Override 053 public String toString() { 054 return "AiAgentLongTextToolEmbeddingsField{" 055 + "model='" 056 + model 057 + '\'' 058 + ", " 059 + "strategy='" 060 + strategy 061 + '\'' 062 + "}"; 063 } 064 065 public static class Builder extends NullableFieldTracker { 066 067 protected String model; 068 069 protected AiAgentLongTextToolEmbeddingsStrategyField strategy; 070 071 public Builder model(String model) { 072 this.model = model; 073 return this; 074 } 075 076 public Builder strategy(AiAgentLongTextToolEmbeddingsStrategyField strategy) { 077 this.strategy = strategy; 078 return this; 079 } 080 081 public AiAgentLongTextToolEmbeddingsField build() { 082 return new AiAgentLongTextToolEmbeddingsField(this); 083 } 084 } 085}