001package com.box.sdkgen.schemas.statusskillcard; 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 StatusSkillCardStatusField extends SerializableObject { 014 015 /** 016 * A code for the status of this Skill invocation. By default each of these will have their own 017 * accompanied messages. These can be adjusted by setting the `message` value on this object. 018 */ 019 @JsonDeserialize( 020 using = StatusSkillCardStatusCodeField.StatusSkillCardStatusCodeFieldDeserializer.class) 021 @JsonSerialize( 022 using = StatusSkillCardStatusCodeField.StatusSkillCardStatusCodeFieldSerializer.class) 023 protected final EnumWrapper<StatusSkillCardStatusCodeField> code; 024 025 /** 026 * A custom message that can be provided with this status. This will be shown in the web app to 027 * the end user. 028 */ 029 protected String message; 030 031 public StatusSkillCardStatusField(StatusSkillCardStatusCodeField code) { 032 super(); 033 this.code = new EnumWrapper<StatusSkillCardStatusCodeField>(code); 034 } 035 036 public StatusSkillCardStatusField( 037 @JsonProperty("code") EnumWrapper<StatusSkillCardStatusCodeField> code) { 038 super(); 039 this.code = code; 040 } 041 042 protected StatusSkillCardStatusField(Builder builder) { 043 super(); 044 this.code = builder.code; 045 this.message = builder.message; 046 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 047 } 048 049 public EnumWrapper<StatusSkillCardStatusCodeField> getCode() { 050 return code; 051 } 052 053 public String getMessage() { 054 return message; 055 } 056 057 @Override 058 public boolean equals(Object o) { 059 if (this == o) { 060 return true; 061 } 062 if (o == null || getClass() != o.getClass()) { 063 return false; 064 } 065 StatusSkillCardStatusField casted = (StatusSkillCardStatusField) o; 066 return Objects.equals(code, casted.code) && Objects.equals(message, casted.message); 067 } 068 069 @Override 070 public int hashCode() { 071 return Objects.hash(code, message); 072 } 073 074 @Override 075 public String toString() { 076 return "StatusSkillCardStatusField{" 077 + "code='" 078 + code 079 + '\'' 080 + ", " 081 + "message='" 082 + message 083 + '\'' 084 + "}"; 085 } 086 087 public static class Builder extends NullableFieldTracker { 088 089 protected final EnumWrapper<StatusSkillCardStatusCodeField> code; 090 091 protected String message; 092 093 public Builder(StatusSkillCardStatusCodeField code) { 094 super(); 095 this.code = new EnumWrapper<StatusSkillCardStatusCodeField>(code); 096 } 097 098 public Builder(EnumWrapper<StatusSkillCardStatusCodeField> code) { 099 super(); 100 this.code = code; 101 } 102 103 public Builder message(String message) { 104 this.message = message; 105 return this; 106 } 107 108 public StatusSkillCardStatusField build() { 109 return new StatusSkillCardStatusField(this); 110 } 111 } 112}