001package com.box.sdkgen.internal;
002
003import com.fasterxml.jackson.annotation.JsonIgnore;
004import java.util.HashSet;
005import java.util.Set;
006
007public abstract class NullableFieldTracker {
008
009  @JsonIgnore protected final Set<String> explicitlySetNullableFields = new HashSet<>();
010
011  protected void markNullableFieldAsSet(String fieldName) {
012    explicitlySetNullableFields.add(fieldName);
013  }
014
015  protected void markNullableFieldsAsSet(Set<String> fields) {
016    explicitlySetNullableFields.addAll(fields);
017  }
018
019  protected boolean isFieldExplicitlySet(String fieldName) {
020    return explicitlySetNullableFields.contains(fieldName);
021  }
022
023  public Set<String> getExplicitlySetNullableFields() {
024    return explicitlySetNullableFields;
025  }
026}