001package com.box.sdkgen.schemas.retentionpolicymaxextensionlengthresponse; 002 003import com.box.sdkgen.internal.OneOfTwo; 004import com.box.sdkgen.serialization.json.JsonManager; 005import com.fasterxml.jackson.core.JsonParser; 006import com.fasterxml.jackson.databind.DeserializationContext; 007import com.fasterxml.jackson.databind.JsonDeserializer; 008import com.fasterxml.jackson.databind.JsonMappingException; 009import com.fasterxml.jackson.databind.JsonNode; 010import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 011import com.fasterxml.jackson.databind.annotation.JsonSerialize; 012import java.io.IOException; 013 014@JsonDeserialize( 015 using = 016 RetentionPolicyMaxExtensionLengthResponse 017 .RetentionPolicyMaxExtensionLengthResponseDeserializer.class) 018@JsonSerialize(using = OneOfTwo.OneOfTwoSerializer.class) 019public class RetentionPolicyMaxExtensionLengthResponse 020 extends OneOfTwo<RetentionPolicyMaxExtensionLengthResponseEnum, String> { 021 022 public RetentionPolicyMaxExtensionLengthResponse( 023 RetentionPolicyMaxExtensionLengthResponseEnum retentionPolicyMaxExtensionLengthResponseEnum) { 024 super(retentionPolicyMaxExtensionLengthResponseEnum, null); 025 } 026 027 public RetentionPolicyMaxExtensionLengthResponse(String string) { 028 super(null, string); 029 } 030 031 public boolean isRetentionPolicyMaxExtensionLengthResponseEnum() { 032 return value0 != null; 033 } 034 035 public RetentionPolicyMaxExtensionLengthResponseEnum 036 getRetentionPolicyMaxExtensionLengthResponseEnum() { 037 return value0; 038 } 039 040 public boolean isString() { 041 return value1 != null; 042 } 043 044 public String getString() { 045 return value1; 046 } 047 048 static class RetentionPolicyMaxExtensionLengthResponseDeserializer 049 extends JsonDeserializer<RetentionPolicyMaxExtensionLengthResponse> { 050 051 public RetentionPolicyMaxExtensionLengthResponseDeserializer() { 052 super(); 053 } 054 055 @Override 056 public RetentionPolicyMaxExtensionLengthResponse deserialize( 057 JsonParser jp, DeserializationContext ctxt) throws IOException { 058 JsonNode node = JsonManager.jsonToSerializedData(jp); 059 try { 060 return new RetentionPolicyMaxExtensionLengthResponse( 061 OneOfTwo.OBJECT_MAPPER.convertValue( 062 node, RetentionPolicyMaxExtensionLengthResponseEnum.class)); 063 } catch (Exception ignored) { 064 } 065 try { 066 return new RetentionPolicyMaxExtensionLengthResponse( 067 OneOfTwo.OBJECT_MAPPER.convertValue(node, String.class)); 068 } catch (Exception ignored) { 069 } 070 throw new JsonMappingException( 071 jp, "Unable to deserialize RetentionPolicyMaxExtensionLengthResponse"); 072 } 073 } 074}