All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.gov.justice.laa.crime.common.model.hardship.HardshipDetail Maven / Gradle / Ivy


package uk.gov.justice.laa.crime.common.model.hardship;

import java.math.BigDecimal;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.annotation.processing.Generated;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;


/**
 * The hardship details schema
 * 

* Details of hardship * */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "amount", "description" }) @Generated("jsonschema2pojo") public class HardshipDetail { /** * The amount under consideration * (Required) * */ @JsonProperty("amount") @JsonPropertyDescription("The amount under consideration") @NotNull private BigDecimal amount; /** * Description of the funding source. * */ @JsonProperty("description") @JsonPropertyDescription("Description of the funding source.") private String description; @JsonIgnore @Valid private Map additionalProperties = new LinkedHashMap(); protected final static Object NOT_FOUND_VALUE = new Object(); /** * No args constructor for use in serialization * */ public HardshipDetail() { } /** * * @param amount * @param description */ public HardshipDetail(BigDecimal amount, String description) { super(); this.amount = amount; this.description = description; } /** * The amount under consideration * (Required) * */ @JsonProperty("amount") public BigDecimal getAmount() { return amount; } /** * The amount under consideration * (Required) * */ @JsonProperty("amount") public void setAmount(BigDecimal amount) { this.amount = amount; } public HardshipDetail withAmount(BigDecimal amount) { this.amount = amount; return this; } /** * Description of the funding source. * */ @JsonProperty("description") public String getDescription() { return description; } /** * Description of the funding source. * */ @JsonProperty("description") public void setDescription(String description) { this.description = description; } public HardshipDetail withDescription(String description) { this.description = description; return this; } @JsonAnyGetter public Map getAdditionalProperties() { return this.additionalProperties; } @JsonAnySetter public void setAdditionalProperty(String name, Object value) { this.additionalProperties.put(name, value); } public HardshipDetail withAdditionalProperty(String name, Object value) { this.additionalProperties.put(name, value); return this; } protected boolean declaredProperty(String name, Object value) { if ("amount".equals(name)) { if (value instanceof BigDecimal) { setAmount(((BigDecimal) value)); } else { throw new IllegalArgumentException(("property \"amount\" is of type \"java.math.BigDecimal\", but got "+ value.getClass().toString())); } return true; } else { if ("description".equals(name)) { if (value instanceof String) { setDescription(((String) value)); } else { throw new IllegalArgumentException(("property \"description\" is of type \"java.lang.String\", but got "+ value.getClass().toString())); } return true; } else { return false; } } } protected Object declaredPropertyOrNotFound(String name, Object notFoundValue) { if ("amount".equals(name)) { return getAmount(); } else { if ("description".equals(name)) { return getDescription(); } else { return notFoundValue; } } } @SuppressWarnings({ "unchecked" }) publicT get(String name) { Object value = declaredPropertyOrNotFound(name, HardshipDetail.NOT_FOUND_VALUE); if (HardshipDetail.NOT_FOUND_VALUE!= value) { return ((T) value); } else { return ((T) getAdditionalProperties().get(name)); } } public void set(String name, Object value) { if (!declaredProperty(name, value)) { getAdditionalProperties().put(name, ((Object) value)); } } public HardshipDetail with(String name, Object value) { if (!declaredProperty(name, value)) { getAdditionalProperties().put(name, ((Object) value)); } return this; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(HardshipDetail.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('['); sb.append("amount"); sb.append('='); sb.append(((this.amount == null)?"":this.amount)); sb.append(','); sb.append("description"); sb.append('='); sb.append(((this.description == null)?"":this.description)); sb.append(','); sb.append("additionalProperties"); sb.append('='); sb.append(((this.additionalProperties == null)?"":this.additionalProperties)); sb.append(','); if (sb.charAt((sb.length()- 1)) == ',') { sb.setCharAt((sb.length()- 1), ']'); } else { sb.append(']'); } return sb.toString(); } @Override public int hashCode() { int result = 1; result = ((result* 31)+((this.description == null)? 0 :this.description.hashCode())); result = ((result* 31)+((this.amount == null)? 0 :this.amount.hashCode())); result = ((result* 31)+((this.additionalProperties == null)? 0 :this.additionalProperties.hashCode())); return result; } @Override public boolean equals(Object other) { if (other == this) { return true; } if ((other instanceof HardshipDetail) == false) { return false; } HardshipDetail rhs = ((HardshipDetail) other); return ((((this.description == rhs.description)||((this.description!= null)&&this.description.equals(rhs.description)))&&((this.amount == rhs.amount)||((this.amount!= null)&&this.amount.equals(rhs.amount))))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties)))); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy