001package com.box.sdkgen.managers.taskassignments; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.serialization.json.EnumWrapper; 006import com.fasterxml.jackson.annotation.JsonFilter; 007import com.fasterxml.jackson.annotation.JsonProperty; 008import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 009import com.fasterxml.jackson.databind.annotation.JsonSerialize; 010import java.util.Objects; 011 012@JsonFilter("nullablePropertyFilter") 013public class CreateTaskAssignmentRequestBodyTaskField extends SerializableObject { 014 015 /** The ID of the task. */ 016 protected final String id; 017 018 /** The type of the item to assign. */ 019 @JsonDeserialize( 020 using = 021 CreateTaskAssignmentRequestBodyTaskTypeField 022 .CreateTaskAssignmentRequestBodyTaskTypeFieldDeserializer.class) 023 @JsonSerialize( 024 using = 025 CreateTaskAssignmentRequestBodyTaskTypeField 026 .CreateTaskAssignmentRequestBodyTaskTypeFieldSerializer.class) 027 protected EnumWrapper<CreateTaskAssignmentRequestBodyTaskTypeField> type; 028 029 public CreateTaskAssignmentRequestBodyTaskField(@JsonProperty("id") String id) { 030 super(); 031 this.id = id; 032 this.type = 033 new EnumWrapper<CreateTaskAssignmentRequestBodyTaskTypeField>( 034 CreateTaskAssignmentRequestBodyTaskTypeField.TASK); 035 } 036 037 protected CreateTaskAssignmentRequestBodyTaskField(Builder builder) { 038 super(); 039 this.id = builder.id; 040 this.type = builder.type; 041 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 042 } 043 044 public String getId() { 045 return id; 046 } 047 048 public EnumWrapper<CreateTaskAssignmentRequestBodyTaskTypeField> getType() { 049 return type; 050 } 051 052 @Override 053 public boolean equals(Object o) { 054 if (this == o) { 055 return true; 056 } 057 if (o == null || getClass() != o.getClass()) { 058 return false; 059 } 060 CreateTaskAssignmentRequestBodyTaskField casted = (CreateTaskAssignmentRequestBodyTaskField) o; 061 return Objects.equals(id, casted.id) && Objects.equals(type, casted.type); 062 } 063 064 @Override 065 public int hashCode() { 066 return Objects.hash(id, type); 067 } 068 069 @Override 070 public String toString() { 071 return "CreateTaskAssignmentRequestBodyTaskField{" 072 + "id='" 073 + id 074 + '\'' 075 + ", " 076 + "type='" 077 + type 078 + '\'' 079 + "}"; 080 } 081 082 public static class Builder extends NullableFieldTracker { 083 084 protected final String id; 085 086 protected EnumWrapper<CreateTaskAssignmentRequestBodyTaskTypeField> type; 087 088 public Builder(String id) { 089 super(); 090 this.id = id; 091 } 092 093 public Builder type(CreateTaskAssignmentRequestBodyTaskTypeField type) { 094 this.type = new EnumWrapper<CreateTaskAssignmentRequestBodyTaskTypeField>(type); 095 return this; 096 } 097 098 public Builder type(EnumWrapper<CreateTaskAssignmentRequestBodyTaskTypeField> type) { 099 this.type = type; 100 return this; 101 } 102 103 public CreateTaskAssignmentRequestBodyTaskField build() { 104 if (this.type == null) { 105 this.type = 106 new EnumWrapper<CreateTaskAssignmentRequestBodyTaskTypeField>( 107 CreateTaskAssignmentRequestBodyTaskTypeField.TASK); 108 } 109 return new CreateTaskAssignmentRequestBodyTaskField(this); 110 } 111 } 112}