001package com.box.sdkgen.managers.metadatataxonomies; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.fasterxml.jackson.annotation.JsonFilter; 006import com.fasterxml.jackson.annotation.JsonProperty; 007import java.util.Objects; 008 009@JsonFilter("nullablePropertyFilter") 010public class CreateMetadataTaxonomyNodeRequestBody extends SerializableObject { 011 012 /** The display name of the taxonomy node. */ 013 protected final String displayName; 014 015 /** The level of the taxonomy node. */ 016 protected final long level; 017 018 /** The identifier of the parent taxonomy node. Omit this field for root-level nodes. */ 019 protected String parentId; 020 021 public CreateMetadataTaxonomyNodeRequestBody( 022 @JsonProperty("displayName") String displayName, @JsonProperty("level") long level) { 023 super(); 024 this.displayName = displayName; 025 this.level = level; 026 } 027 028 protected CreateMetadataTaxonomyNodeRequestBody(Builder builder) { 029 super(); 030 this.displayName = builder.displayName; 031 this.level = builder.level; 032 this.parentId = builder.parentId; 033 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 034 } 035 036 public String getDisplayName() { 037 return displayName; 038 } 039 040 public long getLevel() { 041 return level; 042 } 043 044 public String getParentId() { 045 return parentId; 046 } 047 048 @Override 049 public boolean equals(Object o) { 050 if (this == o) { 051 return true; 052 } 053 if (o == null || getClass() != o.getClass()) { 054 return false; 055 } 056 CreateMetadataTaxonomyNodeRequestBody casted = (CreateMetadataTaxonomyNodeRequestBody) o; 057 return Objects.equals(displayName, casted.displayName) 058 && Objects.equals(level, casted.level) 059 && Objects.equals(parentId, casted.parentId); 060 } 061 062 @Override 063 public int hashCode() { 064 return Objects.hash(displayName, level, parentId); 065 } 066 067 @Override 068 public String toString() { 069 return "CreateMetadataTaxonomyNodeRequestBody{" 070 + "displayName='" 071 + displayName 072 + '\'' 073 + ", " 074 + "level='" 075 + level 076 + '\'' 077 + ", " 078 + "parentId='" 079 + parentId 080 + '\'' 081 + "}"; 082 } 083 084 public static class Builder extends NullableFieldTracker { 085 086 protected final String displayName; 087 088 protected final long level; 089 090 protected String parentId; 091 092 public Builder(String displayName, long level) { 093 super(); 094 this.displayName = displayName; 095 this.level = level; 096 } 097 098 public Builder parentId(String parentId) { 099 this.parentId = parentId; 100 return this; 101 } 102 103 public CreateMetadataTaxonomyNodeRequestBody build() { 104 return new CreateMetadataTaxonomyNodeRequestBody(this); 105 } 106 } 107}