001package com.box.sdkgen.schemas.v2026r0.notesconvertrequestbodyv2026r0; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.v2026r0.folderreferencev2026r0.FolderReferenceV2026R0; 006import com.box.sdkgen.serialization.json.EnumWrapper; 007import com.fasterxml.jackson.annotation.JsonFilter; 008import com.fasterxml.jackson.annotation.JsonProperty; 009import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 010import com.fasterxml.jackson.databind.annotation.JsonSerialize; 011import java.util.Objects; 012 013/** Request body for converting source content into a Box Note file. */ 014@JsonFilter("nullablePropertyFilter") 015public class NotesConvertRequestBodyV2026R0 extends SerializableObject { 016 017 /** The content to convert to a note. See the `content_format` field for supported formats. */ 018 protected final String content; 019 020 /** Format of the content to convert. */ 021 @JsonDeserialize( 022 using = 023 NotesConvertRequestBodyV2026R0ContentFormatField 024 .NotesConvertRequestBodyV2026R0ContentFormatFieldDeserializer.class) 025 @JsonSerialize( 026 using = 027 NotesConvertRequestBodyV2026R0ContentFormatField 028 .NotesConvertRequestBodyV2026R0ContentFormatFieldSerializer.class) 029 @JsonProperty("content_format") 030 protected EnumWrapper<NotesConvertRequestBodyV2026R0ContentFormatField> contentFormat; 031 032 protected final FolderReferenceV2026R0 parent; 033 034 /** The name for the created note. The `.boxnote` extension is appended automatically. */ 035 protected final String name; 036 037 public NotesConvertRequestBodyV2026R0( 038 @JsonProperty("content") String content, 039 @JsonProperty("parent") FolderReferenceV2026R0 parent, 040 @JsonProperty("name") String name) { 041 super(); 042 this.content = content; 043 this.parent = parent; 044 this.name = name; 045 this.contentFormat = 046 new EnumWrapper<NotesConvertRequestBodyV2026R0ContentFormatField>( 047 NotesConvertRequestBodyV2026R0ContentFormatField.MARKDOWN); 048 } 049 050 protected NotesConvertRequestBodyV2026R0(Builder builder) { 051 super(); 052 this.content = builder.content; 053 this.contentFormat = builder.contentFormat; 054 this.parent = builder.parent; 055 this.name = builder.name; 056 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 057 } 058 059 public String getContent() { 060 return content; 061 } 062 063 public EnumWrapper<NotesConvertRequestBodyV2026R0ContentFormatField> getContentFormat() { 064 return contentFormat; 065 } 066 067 public FolderReferenceV2026R0 getParent() { 068 return parent; 069 } 070 071 public String getName() { 072 return name; 073 } 074 075 @Override 076 public boolean equals(Object o) { 077 if (this == o) { 078 return true; 079 } 080 if (o == null || getClass() != o.getClass()) { 081 return false; 082 } 083 NotesConvertRequestBodyV2026R0 casted = (NotesConvertRequestBodyV2026R0) o; 084 return Objects.equals(content, casted.content) 085 && Objects.equals(contentFormat, casted.contentFormat) 086 && Objects.equals(parent, casted.parent) 087 && Objects.equals(name, casted.name); 088 } 089 090 @Override 091 public int hashCode() { 092 return Objects.hash(content, contentFormat, parent, name); 093 } 094 095 @Override 096 public String toString() { 097 return "NotesConvertRequestBodyV2026R0{" 098 + "content='" 099 + content 100 + '\'' 101 + ", " 102 + "contentFormat='" 103 + contentFormat 104 + '\'' 105 + ", " 106 + "parent='" 107 + parent 108 + '\'' 109 + ", " 110 + "name='" 111 + name 112 + '\'' 113 + "}"; 114 } 115 116 public static class Builder extends NullableFieldTracker { 117 118 protected final String content; 119 120 protected EnumWrapper<NotesConvertRequestBodyV2026R0ContentFormatField> contentFormat; 121 122 protected final FolderReferenceV2026R0 parent; 123 124 protected final String name; 125 126 public Builder(String content, FolderReferenceV2026R0 parent, String name) { 127 super(); 128 this.content = content; 129 this.parent = parent; 130 this.name = name; 131 } 132 133 public Builder contentFormat(NotesConvertRequestBodyV2026R0ContentFormatField contentFormat) { 134 this.contentFormat = 135 new EnumWrapper<NotesConvertRequestBodyV2026R0ContentFormatField>(contentFormat); 136 return this; 137 } 138 139 public Builder contentFormat( 140 EnumWrapper<NotesConvertRequestBodyV2026R0ContentFormatField> contentFormat) { 141 this.contentFormat = contentFormat; 142 return this; 143 } 144 145 public NotesConvertRequestBodyV2026R0 build() { 146 if (this.contentFormat == null) { 147 this.contentFormat = 148 new EnumWrapper<NotesConvertRequestBodyV2026R0ContentFormatField>( 149 NotesConvertRequestBodyV2026R0ContentFormatField.MARKDOWN); 150 } 151 return new NotesConvertRequestBodyV2026R0(this); 152 } 153 } 154}