001package com.box.sdkgen.schemas.folderfull;
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 FolderFullMetadataField extends SerializableObject {
014
015  @JsonAnyGetter @JsonAnySetter protected Map<String, Map<String, MetadataFull>> extraData;
016
017  public FolderFullMetadataField() {
018    super();
019  }
020
021  protected FolderFullMetadataField(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    FolderFullMetadataField casted = (FolderFullMetadataField) 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 "FolderFullMetadataField{" + "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 FolderFullMetadataField build() {
063      return new FolderFullMetadataField(this);
064    }
065  }
066}