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