001package com.box.sdkgen.schemas.retentionpolicymaxextensionlengthrequest; 002 003import com.box.sdkgen.internal.OneOfThree; 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 RetentionPolicyMaxExtensionLengthRequest 017 .RetentionPolicyMaxExtensionLengthRequestDeserializer.class) 018@JsonSerialize(using = OneOfThree.OneOfThreeSerializer.class) 019public class RetentionPolicyMaxExtensionLengthRequest 020 extends OneOfThree<RetentionPolicyMaxExtensionLengthRequestEnum, String, Integer> { 021 022 public RetentionPolicyMaxExtensionLengthRequest( 023 RetentionPolicyMaxExtensionLengthRequestEnum retentionPolicyMaxExtensionLengthRequestEnum) { 024 super(retentionPolicyMaxExtensionLengthRequestEnum, null, null); 025 } 026 027 public RetentionPolicyMaxExtensionLengthRequest(String string) { 028 super(null, string, null); 029 } 030 031 public RetentionPolicyMaxExtensionLengthRequest(Integer integerNumber) { 032 super(null, null, integerNumber); 033 } 034 035 public boolean isRetentionPolicyMaxExtensionLengthRequestEnum() { 036 return value0 != null; 037 } 038 039 public RetentionPolicyMaxExtensionLengthRequestEnum 040 getRetentionPolicyMaxExtensionLengthRequestEnum() { 041 return value0; 042 } 043 044 public boolean isString() { 045 return value1 != null; 046 } 047 048 public String getString() { 049 return value1; 050 } 051 052 public boolean isIntegerNumber() { 053 return value2 != null; 054 } 055 056 public Integer getIntegerNumber() { 057 return value2; 058 } 059 060 static class RetentionPolicyMaxExtensionLengthRequestDeserializer 061 extends JsonDeserializer<RetentionPolicyMaxExtensionLengthRequest> { 062 063 public RetentionPolicyMaxExtensionLengthRequestDeserializer() { 064 super(); 065 } 066 067 @Override 068 public RetentionPolicyMaxExtensionLengthRequest deserialize( 069 JsonParser jp, DeserializationContext ctxt) throws IOException { 070 JsonNode node = JsonManager.jsonToSerializedData(jp); 071 if (node.isInt()) { 072 return new RetentionPolicyMaxExtensionLengthRequest( 073 OneOfThree.OBJECT_MAPPER.convertValue(node, Integer.class)); 074 } 075 try { 076 return new RetentionPolicyMaxExtensionLengthRequest( 077 OneOfThree.OBJECT_MAPPER.convertValue( 078 node, RetentionPolicyMaxExtensionLengthRequestEnum.class)); 079 } catch (Exception ignored) { 080 } 081 try { 082 return new RetentionPolicyMaxExtensionLengthRequest( 083 OneOfThree.OBJECT_MAPPER.convertValue(node, String.class)); 084 } catch (Exception ignored) { 085 } 086 throw new JsonMappingException( 087 jp, "Unable to deserialize RetentionPolicyMaxExtensionLengthRequest"); 088 } 089 } 090}