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 OneOfFive<T0, T1, T2, T3, T4> extends SerializableObject implements OneOfUnion { 011 protected static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); 012 protected T0 value0; 013 protected T1 value1; 014 protected T2 value2; 015 protected T3 value3; 016 protected T4 value4; 017 018 public OneOfFive(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4) { 019 this.value0 = value0; 020 this.value1 = value1; 021 this.value2 = value2; 022 this.value3 = value3; 023 this.value4 = value4; 024 } 025 026 @Override 027 public boolean hasAnyNonNullValue() { 028 return value0 != null || value1 != null || value2 != null || value3 != null || value4 != null; 029 } 030 031 public static class OneOfFiveSerializer extends JsonSerializer<OneOfFive<?, ?, ?, ?, ?>> { 032 033 public OneOfFiveSerializer() { 034 super(); 035 } 036 037 @Override 038 public void serialize( 039 OneOfFive<?, ?, ?, ?, ?> itemEntryField, JsonGenerator gen, SerializerProvider provider) 040 throws IOException { 041 if (itemEntryField.value0 != null) { 042 JsonManager.WRITER.writeValue(gen, itemEntryField.value0); 043 return; 044 } 045 if (itemEntryField.value1 != null) { 046 JsonManager.WRITER.writeValue(gen, itemEntryField.value1); 047 return; 048 } 049 if (itemEntryField.value2 != null) { 050 JsonManager.WRITER.writeValue(gen, itemEntryField.value2); 051 return; 052 } 053 if (itemEntryField.value3 != null) { 054 JsonManager.WRITER.writeValue(gen, itemEntryField.value3); 055 return; 056 } 057 if (itemEntryField.value4 != null) { 058 JsonManager.WRITER.writeValue(gen, itemEntryField.value4); 059 return; 060 } 061 gen.writeNull(); 062 } 063 } 064}