001package com.box.sdkgen.schemas.v2025r0.docgentagv2025r0; 002 003import com.box.sdkgen.internal.SerializableObject; 004import com.box.sdkgen.serialization.json.EnumWrapper; 005import com.fasterxml.jackson.annotation.JsonFilter; 006import com.fasterxml.jackson.annotation.JsonProperty; 007import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 008import com.fasterxml.jackson.databind.annotation.JsonSerialize; 009import java.util.List; 010import java.util.Objects; 011 012/** A Box Doc Gen template tag object. */ 013@JsonFilter("nullablePropertyFilter") 014public class DocGenTagV2025R0 extends SerializableObject { 015 016 /** The content of the tag. */ 017 @JsonProperty("tag_content") 018 protected final String tagContent; 019 020 /** Type of the tag. */ 021 @JsonDeserialize( 022 using = DocGenTagV2025R0TagTypeField.DocGenTagV2025R0TagTypeFieldDeserializer.class) 023 @JsonSerialize(using = DocGenTagV2025R0TagTypeField.DocGenTagV2025R0TagTypeFieldSerializer.class) 024 @JsonProperty("tag_type") 025 protected final EnumWrapper<DocGenTagV2025R0TagTypeField> tagType; 026 027 /** List of the paths. */ 028 @JsonProperty("json_paths") 029 protected final List<String> jsonPaths; 030 031 public DocGenTagV2025R0( 032 String tagContent, DocGenTagV2025R0TagTypeField tagType, List<String> jsonPaths) { 033 super(); 034 this.tagContent = tagContent; 035 this.tagType = new EnumWrapper<DocGenTagV2025R0TagTypeField>(tagType); 036 this.jsonPaths = jsonPaths; 037 } 038 039 public DocGenTagV2025R0( 040 @JsonProperty("tag_content") String tagContent, 041 @JsonProperty("tag_type") EnumWrapper<DocGenTagV2025R0TagTypeField> tagType, 042 @JsonProperty("json_paths") List<String> jsonPaths) { 043 super(); 044 this.tagContent = tagContent; 045 this.tagType = tagType; 046 this.jsonPaths = jsonPaths; 047 } 048 049 public String getTagContent() { 050 return tagContent; 051 } 052 053 public EnumWrapper<DocGenTagV2025R0TagTypeField> getTagType() { 054 return tagType; 055 } 056 057 public List<String> getJsonPaths() { 058 return jsonPaths; 059 } 060 061 @Override 062 public boolean equals(Object o) { 063 if (this == o) { 064 return true; 065 } 066 if (o == null || getClass() != o.getClass()) { 067 return false; 068 } 069 DocGenTagV2025R0 casted = (DocGenTagV2025R0) o; 070 return Objects.equals(tagContent, casted.tagContent) 071 && Objects.equals(tagType, casted.tagType) 072 && Objects.equals(jsonPaths, casted.jsonPaths); 073 } 074 075 @Override 076 public int hashCode() { 077 return Objects.hash(tagContent, tagType, jsonPaths); 078 } 079 080 @Override 081 public String toString() { 082 return "DocGenTagV2025R0{" 083 + "tagContent='" 084 + tagContent 085 + '\'' 086 + ", " 087 + "tagType='" 088 + tagType 089 + '\'' 090 + ", " 091 + "jsonPaths='" 092 + jsonPaths 093 + '\'' 094 + "}"; 095 } 096}