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 OneOfEleven<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends SerializableObject
011    implements OneOfUnion {
012  protected static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
013  protected T0 value0;
014  protected T1 value1;
015  protected T2 value2;
016  protected T3 value3;
017  protected T4 value4;
018  protected T5 value5;
019  protected T6 value6;
020  protected T7 value7;
021  protected T8 value8;
022  protected T9 value9;
023  protected T10 value10;
024
025  public OneOfEleven(
026      T0 value0,
027      T1 value1,
028      T2 value2,
029      T3 value3,
030      T4 value4,
031      T5 value5,
032      T6 value6,
033      T7 value7,
034      T8 value8,
035      T9 value9,
036      T10 value10) {
037    this.value0 = value0;
038    this.value1 = value1;
039    this.value2 = value2;
040    this.value3 = value3;
041    this.value4 = value4;
042    this.value5 = value5;
043    this.value6 = value6;
044    this.value7 = value7;
045    this.value8 = value8;
046    this.value9 = value9;
047    this.value10 = value10;
048  }
049
050  @Override
051  public boolean hasAnyNonNullValue() {
052    return value0 != null
053        || value1 != null
054        || value2 != null
055        || value3 != null
056        || value4 != null
057        || value5 != null
058        || value6 != null
059        || value7 != null
060        || value8 != null
061        || value9 != null
062        || value10 != null;
063  }
064
065  public static class OneOfElevenSerializer
066      extends JsonSerializer<OneOfEleven<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?>> {
067
068    public OneOfElevenSerializer() {
069      super();
070    }
071
072    @Override
073    public void serialize(
074        OneOfEleven<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> itemEntryField,
075        JsonGenerator gen,
076        SerializerProvider provider)
077        throws IOException {
078      if (itemEntryField.value0 != null) {
079        JsonManager.WRITER.writeValue(gen, itemEntryField.value0);
080        return;
081      }
082      if (itemEntryField.value1 != null) {
083        JsonManager.WRITER.writeValue(gen, itemEntryField.value1);
084        return;
085      }
086      if (itemEntryField.value2 != null) {
087        JsonManager.WRITER.writeValue(gen, itemEntryField.value2);
088        return;
089      }
090      if (itemEntryField.value3 != null) {
091        JsonManager.WRITER.writeValue(gen, itemEntryField.value3);
092        return;
093      }
094      if (itemEntryField.value4 != null) {
095        JsonManager.WRITER.writeValue(gen, itemEntryField.value4);
096        return;
097      }
098      if (itemEntryField.value5 != null) {
099        JsonManager.WRITER.writeValue(gen, itemEntryField.value5);
100        return;
101      }
102      if (itemEntryField.value6 != null) {
103        JsonManager.WRITER.writeValue(gen, itemEntryField.value6);
104        return;
105      }
106      if (itemEntryField.value7 != null) {
107        JsonManager.WRITER.writeValue(gen, itemEntryField.value7);
108        return;
109      }
110      if (itemEntryField.value8 != null) {
111        JsonManager.WRITER.writeValue(gen, itemEntryField.value8);
112        return;
113      }
114      if (itemEntryField.value9 != null) {
115        JsonManager.WRITER.writeValue(gen, itemEntryField.value9);
116        return;
117      }
118      if (itemEntryField.value10 != null) {
119        JsonManager.WRITER.writeValue(gen, itemEntryField.value10);
120        return;
121      }
122      gen.writeNull();
123    }
124  }
125}