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 UpdateTaskAssignmentByIdRequestBody extends SerializableObject { 014 015 /** An optional message by the assignee that can be added to the task. */ 016 protected String message; 017 018 /** 019 * The state of the task assigned to the user. 020 * 021 * <p>* For a task with an `action` value of `complete` this can be `incomplete` or `completed`. * 022 * For a task with an `action` of `review` this can be `incomplete`, `approved`, or `rejected`. 023 */ 024 @JsonDeserialize( 025 using = 026 UpdateTaskAssignmentByIdRequestBodyResolutionStateField 027 .UpdateTaskAssignmentByIdRequestBodyResolutionStateFieldDeserializer.class) 028 @JsonSerialize( 029 using = 030 UpdateTaskAssignmentByIdRequestBodyResolutionStateField 031 .UpdateTaskAssignmentByIdRequestBodyResolutionStateFieldSerializer.class) 032 @JsonProperty("resolution_state") 033 protected EnumWrapper<UpdateTaskAssignmentByIdRequestBodyResolutionStateField> resolutionState; 034 035 public UpdateTaskAssignmentByIdRequestBody() { 036 super(); 037 } 038 039 protected UpdateTaskAssignmentByIdRequestBody(Builder builder) { 040 super(); 041 this.message = builder.message; 042 this.resolutionState = builder.resolutionState; 043 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 044 } 045 046 public String getMessage() { 047 return message; 048 } 049 050 public EnumWrapper<UpdateTaskAssignmentByIdRequestBodyResolutionStateField> getResolutionState() { 051 return resolutionState; 052 } 053 054 @Override 055 public boolean equals(Object o) { 056 if (this == o) { 057 return true; 058 } 059 if (o == null || getClass() != o.getClass()) { 060 return false; 061 } 062 UpdateTaskAssignmentByIdRequestBody casted = (UpdateTaskAssignmentByIdRequestBody) o; 063 return Objects.equals(message, casted.message) 064 && Objects.equals(resolutionState, casted.resolutionState); 065 } 066 067 @Override 068 public int hashCode() { 069 return Objects.hash(message, resolutionState); 070 } 071 072 @Override 073 public String toString() { 074 return "UpdateTaskAssignmentByIdRequestBody{" 075 + "message='" 076 + message 077 + '\'' 078 + ", " 079 + "resolutionState='" 080 + resolutionState 081 + '\'' 082 + "}"; 083 } 084 085 public static class Builder extends NullableFieldTracker { 086 087 protected String message; 088 089 protected EnumWrapper<UpdateTaskAssignmentByIdRequestBodyResolutionStateField> resolutionState; 090 091 public Builder message(String message) { 092 this.message = message; 093 return this; 094 } 095 096 public Builder resolutionState( 097 UpdateTaskAssignmentByIdRequestBodyResolutionStateField resolutionState) { 098 this.resolutionState = 099 new EnumWrapper<UpdateTaskAssignmentByIdRequestBodyResolutionStateField>(resolutionState); 100 return this; 101 } 102 103 public Builder resolutionState( 104 EnumWrapper<UpdateTaskAssignmentByIdRequestBodyResolutionStateField> resolutionState) { 105 this.resolutionState = resolutionState; 106 return this; 107 } 108 109 public UpdateTaskAssignmentByIdRequestBody build() { 110 return new UpdateTaskAssignmentByIdRequestBody(this); 111 } 112 } 113}