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 OneOfOne<T0> extends SerializableObject implements OneOfUnion { 011 protected static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); 012 protected T0 value0; 013 014 public OneOfOne(T0 value0) { 015 this.value0 = value0; 016 } 017 018 @Override 019 public boolean hasAnyNonNullValue() { 020 return value0 != null; 021 } 022 023 public static class OneOfOneSerializer extends JsonSerializer<OneOfOne<?>> { 024 025 public OneOfOneSerializer() { 026 super(); 027 } 028 029 @Override 030 public void serialize( 031 OneOfOne<?> itemEntryField, JsonGenerator gen, SerializerProvider provider) 032 throws IOException { 033 if (itemEntryField.value0 != null) { 034 JsonManager.WRITER.writeValue(gen, itemEntryField.value0); 035 return; 036 } 037 gen.writeNull(); 038 } 039 } 040}