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