001package com.box.sdkgen.managers.legalholdpolicyassignments; 002 003import com.box.sdkgen.serialization.json.EnumWrapper; 004import com.box.sdkgen.serialization.json.Valuable; 005import com.fasterxml.jackson.annotation.JsonValue; 006import com.fasterxml.jackson.core.JsonGenerator; 007import com.fasterxml.jackson.core.JsonParser; 008import com.fasterxml.jackson.databind.DeserializationContext; 009import com.fasterxml.jackson.databind.JsonDeserializer; 010import com.fasterxml.jackson.databind.JsonSerializer; 011import com.fasterxml.jackson.databind.SerializerProvider; 012import java.io.IOException; 013import java.util.Arrays; 014 015public enum CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeField implements Valuable { 016 FILE("file"), 017 FILE_VERSION("file_version"), 018 FOLDER("folder"), 019 USER("user"), 020 OWNERSHIP("ownership"), 021 INTERACTIONS("interactions"); 022 023 private final String value; 024 025 CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeField(String value) { 026 this.value = value; 027 } 028 029 @JsonValue 030 public String getValue() { 031 return value; 032 } 033 034 public static class CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeFieldDeserializer 035 extends JsonDeserializer< 036 EnumWrapper<CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeField>> { 037 038 public CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeFieldDeserializer() { 039 super(); 040 } 041 042 @Override 043 public EnumWrapper<CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeField> deserialize( 044 JsonParser p, DeserializationContext ctxt) throws IOException { 045 String value = p.getValueAsString(); 046 return Arrays.stream(CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeField.values()) 047 .filter((v) -> v.getValue().equalsIgnoreCase(value)) 048 .findFirst() 049 .map(EnumWrapper::new) 050 .orElse( 051 new EnumWrapper<CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeField>(value)); 052 } 053 } 054 055 public static class CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeFieldSerializer 056 extends JsonSerializer< 057 EnumWrapper<CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeField>> { 058 059 public CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeFieldSerializer() { 060 super(); 061 } 062 063 @Override 064 public void serialize( 065 EnumWrapper<CreateLegalHoldPolicyAssignmentRequestBodyAssignToTypeField> value, 066 JsonGenerator gen, 067 SerializerProvider serializers) 068 throws IOException { 069 gen.writeString(value.getStringValue()); 070 } 071 } 072}