001package com.box.sdkgen.schemas.workflow; 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 WorkflowFlowsOutcomesIfRejectedField extends SerializableObject { 014 015 /** The identifier of the outcome. */ 016 protected String id; 017 018 /** The outcomes resource type. */ 019 @JsonDeserialize( 020 using = 021 WorkflowFlowsOutcomesIfRejectedTypeField 022 .WorkflowFlowsOutcomesIfRejectedTypeFieldDeserializer.class) 023 @JsonSerialize( 024 using = 025 WorkflowFlowsOutcomesIfRejectedTypeField 026 .WorkflowFlowsOutcomesIfRejectedTypeFieldSerializer.class) 027 protected EnumWrapper<WorkflowFlowsOutcomesIfRejectedTypeField> type; 028 029 /** The name of the outcome. */ 030 protected String name; 031 032 @JsonDeserialize( 033 using = 034 WorkflowFlowsOutcomesIfRejectedActionTypeField 035 .WorkflowFlowsOutcomesIfRejectedActionTypeFieldDeserializer.class) 036 @JsonSerialize( 037 using = 038 WorkflowFlowsOutcomesIfRejectedActionTypeField 039 .WorkflowFlowsOutcomesIfRejectedActionTypeFieldSerializer.class) 040 @JsonProperty("action_type") 041 protected EnumWrapper<WorkflowFlowsOutcomesIfRejectedActionTypeField> actionType; 042 043 public WorkflowFlowsOutcomesIfRejectedField() { 044 super(); 045 } 046 047 protected WorkflowFlowsOutcomesIfRejectedField(Builder builder) { 048 super(); 049 this.id = builder.id; 050 this.type = builder.type; 051 this.name = builder.name; 052 this.actionType = builder.actionType; 053 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 054 } 055 056 public String getId() { 057 return id; 058 } 059 060 public EnumWrapper<WorkflowFlowsOutcomesIfRejectedTypeField> getType() { 061 return type; 062 } 063 064 public String getName() { 065 return name; 066 } 067 068 public EnumWrapper<WorkflowFlowsOutcomesIfRejectedActionTypeField> getActionType() { 069 return actionType; 070 } 071 072 @Override 073 public boolean equals(Object o) { 074 if (this == o) { 075 return true; 076 } 077 if (o == null || getClass() != o.getClass()) { 078 return false; 079 } 080 WorkflowFlowsOutcomesIfRejectedField casted = (WorkflowFlowsOutcomesIfRejectedField) o; 081 return Objects.equals(id, casted.id) 082 && Objects.equals(type, casted.type) 083 && Objects.equals(name, casted.name) 084 && Objects.equals(actionType, casted.actionType); 085 } 086 087 @Override 088 public int hashCode() { 089 return Objects.hash(id, type, name, actionType); 090 } 091 092 @Override 093 public String toString() { 094 return "WorkflowFlowsOutcomesIfRejectedField{" 095 + "id='" 096 + id 097 + '\'' 098 + ", " 099 + "type='" 100 + type 101 + '\'' 102 + ", " 103 + "name='" 104 + name 105 + '\'' 106 + ", " 107 + "actionType='" 108 + actionType 109 + '\'' 110 + "}"; 111 } 112 113 public static class Builder extends NullableFieldTracker { 114 115 protected String id; 116 117 protected EnumWrapper<WorkflowFlowsOutcomesIfRejectedTypeField> type; 118 119 protected String name; 120 121 protected EnumWrapper<WorkflowFlowsOutcomesIfRejectedActionTypeField> actionType; 122 123 public Builder id(String id) { 124 this.id = id; 125 return this; 126 } 127 128 public Builder type(WorkflowFlowsOutcomesIfRejectedTypeField type) { 129 this.type = new EnumWrapper<WorkflowFlowsOutcomesIfRejectedTypeField>(type); 130 return this; 131 } 132 133 public Builder type(EnumWrapper<WorkflowFlowsOutcomesIfRejectedTypeField> type) { 134 this.type = type; 135 return this; 136 } 137 138 public Builder name(String name) { 139 this.name = name; 140 return this; 141 } 142 143 public Builder actionType(WorkflowFlowsOutcomesIfRejectedActionTypeField actionType) { 144 this.actionType = new EnumWrapper<WorkflowFlowsOutcomesIfRejectedActionTypeField>(actionType); 145 return this; 146 } 147 148 public Builder actionType( 149 EnumWrapper<WorkflowFlowsOutcomesIfRejectedActionTypeField> actionType) { 150 this.actionType = actionType; 151 return this; 152 } 153 154 public WorkflowFlowsOutcomesIfRejectedField build() { 155 return new WorkflowFlowsOutcomesIfRejectedField(this); 156 } 157 } 158}