001package com.box.sdkgen.schemas.filefull; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.metadatafull.MetadataFull; 006import com.fasterxml.jackson.annotation.JsonAnyGetter; 007import com.fasterxml.jackson.annotation.JsonAnySetter; 008import com.fasterxml.jackson.annotation.JsonFilter; 009import java.util.Map; 010import java.util.Objects; 011 012@JsonFilter("nullablePropertyFilter") 013public class FileFullMetadataField extends SerializableObject { 014 015 @JsonAnyGetter @JsonAnySetter protected Map<String, Map<String, MetadataFull>> extraData; 016 017 public FileFullMetadataField() { 018 super(); 019 } 020 021 protected FileFullMetadataField(Builder builder) { 022 super(); 023 this.extraData = builder.extraData; 024 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 025 } 026 027 public Map<String, Map<String, MetadataFull>> getExtraData() { 028 return extraData; 029 } 030 031 @Override 032 public boolean equals(Object o) { 033 if (this == o) { 034 return true; 035 } 036 if (o == null || getClass() != o.getClass()) { 037 return false; 038 } 039 FileFullMetadataField casted = (FileFullMetadataField) o; 040 return Objects.equals(extraData, casted.extraData); 041 } 042 043 @Override 044 public int hashCode() { 045 return Objects.hash(extraData); 046 } 047 048 @Override 049 public String toString() { 050 return "FileFullMetadataField{" + "extraData='" + extraData + '\'' + "}"; 051 } 052 053 public static class Builder extends NullableFieldTracker { 054 055 protected Map<String, Map<String, MetadataFull>> extraData; 056 057 public Builder extraData(Map<String, Map<String, MetadataFull>> extraData) { 058 this.extraData = extraData; 059 return this; 060 } 061 062 public FileFullMetadataField build() { 063 return new FileFullMetadataField(this); 064 } 065 } 066}