001package com.box.sdkgen.internal;
002
003import com.box.sdkgen.serialization.json.JsonManager;
004import com.fasterxml.jackson.core.JsonGenerator;
005import com.fasterxml.jackson.databind.JsonSerializer;
006import com.fasterxml.jackson.databind.ObjectMapper;
007import com.fasterxml.jackson.databind.SerializerProvider;
008import java.io.IOException;
009
010public class OneOfOne<T0> extends SerializableObject implements OneOfUnion {
011  protected static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
012  protected T0 value0;
013
014  public OneOfOne(T0 value0) {
015    this.value0 = value0;
016  }
017
018  @Override
019  public boolean hasAnyNonNullValue() {
020    return value0 != null;
021  }
022
023  public static class OneOfOneSerializer extends JsonSerializer<OneOfOne<?>> {
024
025    public OneOfOneSerializer() {
026      super();
027    }
028
029    @Override
030    public void serialize(
031        OneOfOne<?> itemEntryField, JsonGenerator gen, SerializerProvider provider)
032        throws IOException {
033      if (itemEntryField.value0 != null) {
034        JsonManager.WRITER.writeValue(gen, itemEntryField.value0);
035        return;
036      }
037      gen.writeNull();
038    }
039  }
040}