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 OneOfSix<T0, T1, T2, T3, T4, T5> 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 protected T5 value5; 018 019 public OneOfSix(T0 value0, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5) { 020 this.value0 = value0; 021 this.value1 = value1; 022 this.value2 = value2; 023 this.value3 = value3; 024 this.value4 = value4; 025 this.value5 = value5; 026 } 027 028 @Override 029 public boolean hasAnyNonNullValue() { 030 return value0 != null 031 || value1 != null 032 || value2 != null 033 || value3 != null 034 || value4 != null 035 || value5 != null; 036 } 037 038 public static class OneOfSixSerializer extends JsonSerializer<OneOfSix<?, ?, ?, ?, ?, ?>> { 039 040 public OneOfSixSerializer() { 041 super(); 042 } 043 044 @Override 045 public void serialize( 046 OneOfSix<?, ?, ?, ?, ?, ?> itemEntryField, JsonGenerator gen, SerializerProvider provider) 047 throws IOException { 048 if (itemEntryField.value0 != null) { 049 JsonManager.WRITER.writeValue(gen, itemEntryField.value0); 050 return; 051 } 052 if (itemEntryField.value1 != null) { 053 JsonManager.WRITER.writeValue(gen, itemEntryField.value1); 054 return; 055 } 056 if (itemEntryField.value2 != null) { 057 JsonManager.WRITER.writeValue(gen, itemEntryField.value2); 058 return; 059 } 060 if (itemEntryField.value3 != null) { 061 JsonManager.WRITER.writeValue(gen, itemEntryField.value3); 062 return; 063 } 064 if (itemEntryField.value4 != null) { 065 JsonManager.WRITER.writeValue(gen, itemEntryField.value4); 066 return; 067 } 068 if (itemEntryField.value5 != null) { 069 JsonManager.WRITER.writeValue(gen, itemEntryField.value5); 070 return; 071 } 072 gen.writeNull(); 073 } 074 } 075}