001package com.box.sdkgen.schemas.metadatataxonomylevels; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.metadatataxonomylevel.MetadataTaxonomyLevel; 006import com.fasterxml.jackson.annotation.JsonFilter; 007import java.util.List; 008import java.util.Objects; 009 010/** 011 * Levels in the metadata taxonomy represent hierarchical categories within the taxonomy structure. 012 */ 013@JsonFilter("nullablePropertyFilter") 014public class MetadataTaxonomyLevels extends SerializableObject { 015 016 /** An array of all taxonomy levels. */ 017 protected List<MetadataTaxonomyLevel> entries; 018 019 public MetadataTaxonomyLevels() { 020 super(); 021 } 022 023 protected MetadataTaxonomyLevels(Builder builder) { 024 super(); 025 this.entries = builder.entries; 026 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 027 } 028 029 public List<MetadataTaxonomyLevel> getEntries() { 030 return entries; 031 } 032 033 @Override 034 public boolean equals(Object o) { 035 if (this == o) { 036 return true; 037 } 038 if (o == null || getClass() != o.getClass()) { 039 return false; 040 } 041 MetadataTaxonomyLevels casted = (MetadataTaxonomyLevels) o; 042 return Objects.equals(entries, casted.entries); 043 } 044 045 @Override 046 public int hashCode() { 047 return Objects.hash(entries); 048 } 049 050 @Override 051 public String toString() { 052 return "MetadataTaxonomyLevels{" + "entries='" + entries + '\'' + "}"; 053 } 054 055 public static class Builder extends NullableFieldTracker { 056 057 protected List<MetadataTaxonomyLevel> entries; 058 059 public Builder entries(List<MetadataTaxonomyLevel> entries) { 060 this.entries = entries; 061 return this; 062 } 063 064 public MetadataTaxonomyLevels build() { 065 return new MetadataTaxonomyLevels(this); 066 } 067 } 068}