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

uk.gov.justice.laa.crime.common.model.contribution.ApiCalculateContributionRequest Maven / Gradle / Ivy


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

import java.math.BigDecimal;
import javax.annotation.processing.Generated;
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.constraints.NotNull;


/**
 * Calculate Contribution Request
 * 

* Data Contract for Calc Contribs request * */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "annualDisposableIncome", "disposableIncomePercent", "minimumMonthlyAmount", "contributionCap", "upfrontTotalMonths", "upliftApplied", "upliftedIncomePercent", "minUpliftedMonthlyAmount" }) @Generated("jsonschema2pojo") public class ApiCalculateContributionRequest { /** * Annual Disposable Income * (Required) * */ @JsonProperty("annualDisposableIncome") @JsonPropertyDescription("Annual Disposable Income") @NotNull private BigDecimal annualDisposableIncome; /** * Disposable Income Percent * (Required) * */ @JsonProperty("disposableIncomePercent") @JsonPropertyDescription("Disposable Income Percent") @NotNull private BigDecimal disposableIncomePercent; /** * Minimum Monthly Amount * (Required) * */ @JsonProperty("minimumMonthlyAmount") @JsonPropertyDescription("Minimum Monthly Amount") @NotNull private BigDecimal minimumMonthlyAmount; /** * Contribution Cap * (Required) * */ @JsonProperty("contributionCap") @JsonPropertyDescription("Contribution Cap") @NotNull private BigDecimal contributionCap; /** * upfront Total Months * (Required) * */ @JsonProperty("upfrontTotalMonths") @JsonPropertyDescription("upfront Total Months") @NotNull private Integer upfrontTotalMonths; /** * Currently has a fixed value of 'false'. * */ @JsonProperty("upliftApplied") @JsonPropertyDescription("Currently has a fixed value of 'false'.") private Boolean upliftApplied; /** * Uplifted income percent * */ @JsonProperty("upliftedIncomePercent") @JsonPropertyDescription("Uplifted income percent") private BigDecimal upliftedIncomePercent; /** * Minimum Uplifted Monthly Amount * */ @JsonProperty("minUpliftedMonthlyAmount") @JsonPropertyDescription("Minimum Uplifted Monthly Amount") private BigDecimal minUpliftedMonthlyAmount; protected final static Object NOT_FOUND_VALUE = new Object(); /** * No args constructor for use in serialization * */ public ApiCalculateContributionRequest() { } /** * * @param contributionCap * @param annualDisposableIncome * @param upliftApplied * @param minimumMonthlyAmount * @param minUpliftedMonthlyAmount * @param upliftedIncomePercent * @param disposableIncomePercent * @param upfrontTotalMonths */ public ApiCalculateContributionRequest(BigDecimal annualDisposableIncome, BigDecimal disposableIncomePercent, BigDecimal minimumMonthlyAmount, BigDecimal contributionCap, Integer upfrontTotalMonths, Boolean upliftApplied, BigDecimal upliftedIncomePercent, BigDecimal minUpliftedMonthlyAmount) { super(); this.annualDisposableIncome = annualDisposableIncome; this.disposableIncomePercent = disposableIncomePercent; this.minimumMonthlyAmount = minimumMonthlyAmount; this.contributionCap = contributionCap; this.upfrontTotalMonths = upfrontTotalMonths; this.upliftApplied = upliftApplied; this.upliftedIncomePercent = upliftedIncomePercent; this.minUpliftedMonthlyAmount = minUpliftedMonthlyAmount; } /** * Annual Disposable Income * (Required) * */ @JsonProperty("annualDisposableIncome") public BigDecimal getAnnualDisposableIncome() { return annualDisposableIncome; } /** * Annual Disposable Income * (Required) * */ @JsonProperty("annualDisposableIncome") public void setAnnualDisposableIncome(BigDecimal annualDisposableIncome) { this.annualDisposableIncome = annualDisposableIncome; } public ApiCalculateContributionRequest withAnnualDisposableIncome(BigDecimal annualDisposableIncome) { this.annualDisposableIncome = annualDisposableIncome; return this; } /** * Disposable Income Percent * (Required) * */ @JsonProperty("disposableIncomePercent") public BigDecimal getDisposableIncomePercent() { return disposableIncomePercent; } /** * Disposable Income Percent * (Required) * */ @JsonProperty("disposableIncomePercent") public void setDisposableIncomePercent(BigDecimal disposableIncomePercent) { this.disposableIncomePercent = disposableIncomePercent; } public ApiCalculateContributionRequest withDisposableIncomePercent(BigDecimal disposableIncomePercent) { this.disposableIncomePercent = disposableIncomePercent; return this; } /** * Minimum Monthly Amount * (Required) * */ @JsonProperty("minimumMonthlyAmount") public BigDecimal getMinimumMonthlyAmount() { return minimumMonthlyAmount; } /** * Minimum Monthly Amount * (Required) * */ @JsonProperty("minimumMonthlyAmount") public void setMinimumMonthlyAmount(BigDecimal minimumMonthlyAmount) { this.minimumMonthlyAmount = minimumMonthlyAmount; } public ApiCalculateContributionRequest withMinimumMonthlyAmount(BigDecimal minimumMonthlyAmount) { this.minimumMonthlyAmount = minimumMonthlyAmount; return this; } /** * Contribution Cap * (Required) * */ @JsonProperty("contributionCap") public BigDecimal getContributionCap() { return contributionCap; } /** * Contribution Cap * (Required) * */ @JsonProperty("contributionCap") public void setContributionCap(BigDecimal contributionCap) { this.contributionCap = contributionCap; } public ApiCalculateContributionRequest withContributionCap(BigDecimal contributionCap) { this.contributionCap = contributionCap; return this; } /** * upfront Total Months * (Required) * */ @JsonProperty("upfrontTotalMonths") public Integer getUpfrontTotalMonths() { return upfrontTotalMonths; } /** * upfront Total Months * (Required) * */ @JsonProperty("upfrontTotalMonths") public void setUpfrontTotalMonths(Integer upfrontTotalMonths) { this.upfrontTotalMonths = upfrontTotalMonths; } public ApiCalculateContributionRequest withUpfrontTotalMonths(Integer upfrontTotalMonths) { this.upfrontTotalMonths = upfrontTotalMonths; return this; } /** * Currently has a fixed value of 'false'. * */ @JsonProperty("upliftApplied") public Boolean getUpliftApplied() { return upliftApplied; } /** * Currently has a fixed value of 'false'. * */ @JsonProperty("upliftApplied") public void setUpliftApplied(Boolean upliftApplied) { this.upliftApplied = upliftApplied; } public ApiCalculateContributionRequest withUpliftApplied(Boolean upliftApplied) { this.upliftApplied = upliftApplied; return this; } /** * Uplifted income percent * */ @JsonProperty("upliftedIncomePercent") public BigDecimal getUpliftedIncomePercent() { return upliftedIncomePercent; } /** * Uplifted income percent * */ @JsonProperty("upliftedIncomePercent") public void setUpliftedIncomePercent(BigDecimal upliftedIncomePercent) { this.upliftedIncomePercent = upliftedIncomePercent; } public ApiCalculateContributionRequest withUpliftedIncomePercent(BigDecimal upliftedIncomePercent) { this.upliftedIncomePercent = upliftedIncomePercent; return this; } /** * Minimum Uplifted Monthly Amount * */ @JsonProperty("minUpliftedMonthlyAmount") public BigDecimal getMinUpliftedMonthlyAmount() { return minUpliftedMonthlyAmount; } /** * Minimum Uplifted Monthly Amount * */ @JsonProperty("minUpliftedMonthlyAmount") public void setMinUpliftedMonthlyAmount(BigDecimal minUpliftedMonthlyAmount) { this.minUpliftedMonthlyAmount = minUpliftedMonthlyAmount; } public ApiCalculateContributionRequest withMinUpliftedMonthlyAmount(BigDecimal minUpliftedMonthlyAmount) { this.minUpliftedMonthlyAmount = minUpliftedMonthlyAmount; return this; } protected boolean declaredProperty(String name, Object value) { if ("annualDisposableIncome".equals(name)) { if (value instanceof BigDecimal) { setAnnualDisposableIncome(((BigDecimal) value)); } else { throw new IllegalArgumentException(("property \"annualDisposableIncome\" is of type \"java.math.BigDecimal\", but got "+ value.getClass().toString())); } return true; } else { if ("disposableIncomePercent".equals(name)) { if (value instanceof BigDecimal) { setDisposableIncomePercent(((BigDecimal) value)); } else { throw new IllegalArgumentException(("property \"disposableIncomePercent\" is of type \"java.math.BigDecimal\", but got "+ value.getClass().toString())); } return true; } else { if ("minimumMonthlyAmount".equals(name)) { if (value instanceof BigDecimal) { setMinimumMonthlyAmount(((BigDecimal) value)); } else { throw new IllegalArgumentException(("property \"minimumMonthlyAmount\" is of type \"java.math.BigDecimal\", but got "+ value.getClass().toString())); } return true; } else { if ("contributionCap".equals(name)) { if (value instanceof BigDecimal) { setContributionCap(((BigDecimal) value)); } else { throw new IllegalArgumentException(("property \"contributionCap\" is of type \"java.math.BigDecimal\", but got "+ value.getClass().toString())); } return true; } else { if ("upfrontTotalMonths".equals(name)) { if (value instanceof Integer) { setUpfrontTotalMonths(((Integer) value)); } else { throw new IllegalArgumentException(("property \"upfrontTotalMonths\" is of type \"java.lang.Integer\", but got "+ value.getClass().toString())); } return true; } else { if ("upliftApplied".equals(name)) { if (value instanceof Boolean) { setUpliftApplied(((Boolean) value)); } else { throw new IllegalArgumentException(("property \"upliftApplied\" is of type \"java.lang.Boolean\", but got "+ value.getClass().toString())); } return true; } else { if ("upliftedIncomePercent".equals(name)) { if (value instanceof BigDecimal) { setUpliftedIncomePercent(((BigDecimal) value)); } else { throw new IllegalArgumentException(("property \"upliftedIncomePercent\" is of type \"java.math.BigDecimal\", but got "+ value.getClass().toString())); } return true; } else { if ("minUpliftedMonthlyAmount".equals(name)) { if (value instanceof BigDecimal) { setMinUpliftedMonthlyAmount(((BigDecimal) value)); } else { throw new IllegalArgumentException(("property \"minUpliftedMonthlyAmount\" is of type \"java.math.BigDecimal\", but got "+ value.getClass().toString())); } return true; } else { return false; } } } } } } } } } protected Object declaredPropertyOrNotFound(String name, Object notFoundValue) { if ("annualDisposableIncome".equals(name)) { return getAnnualDisposableIncome(); } else { if ("disposableIncomePercent".equals(name)) { return getDisposableIncomePercent(); } else { if ("minimumMonthlyAmount".equals(name)) { return getMinimumMonthlyAmount(); } else { if ("contributionCap".equals(name)) { return getContributionCap(); } else { if ("upfrontTotalMonths".equals(name)) { return getUpfrontTotalMonths(); } else { if ("upliftApplied".equals(name)) { return getUpliftApplied(); } else { if ("upliftedIncomePercent".equals(name)) { return getUpliftedIncomePercent(); } else { if ("minUpliftedMonthlyAmount".equals(name)) { return getMinUpliftedMonthlyAmount(); } else { return notFoundValue; } } } } } } } } } @SuppressWarnings({ "unchecked" }) publicT get(String name) { Object value = declaredPropertyOrNotFound(name, ApiCalculateContributionRequest.NOT_FOUND_VALUE); if (ApiCalculateContributionRequest.NOT_FOUND_VALUE!= value) { return ((T) value); } else { throw new IllegalArgumentException((("property \""+ name)+"\" is not defined")); } } public void set(String name, Object value) { if (!declaredProperty(name, value)) { throw new IllegalArgumentException((("property \""+ name)+"\" is not defined")); } } public ApiCalculateContributionRequest with(String name, Object value) { if (!declaredProperty(name, value)) { throw new IllegalArgumentException((("property \""+ name)+"\" is not defined")); } return this; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(ApiCalculateContributionRequest.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('['); sb.append("annualDisposableIncome"); sb.append('='); sb.append(((this.annualDisposableIncome == null)?"":this.annualDisposableIncome)); sb.append(','); sb.append("disposableIncomePercent"); sb.append('='); sb.append(((this.disposableIncomePercent == null)?"":this.disposableIncomePercent)); sb.append(','); sb.append("minimumMonthlyAmount"); sb.append('='); sb.append(((this.minimumMonthlyAmount == null)?"":this.minimumMonthlyAmount)); sb.append(','); sb.append("contributionCap"); sb.append('='); sb.append(((this.contributionCap == null)?"":this.contributionCap)); sb.append(','); sb.append("upfrontTotalMonths"); sb.append('='); sb.append(((this.upfrontTotalMonths == null)?"":this.upfrontTotalMonths)); sb.append(','); sb.append("upliftApplied"); sb.append('='); sb.append(((this.upliftApplied == null)?"":this.upliftApplied)); sb.append(','); sb.append("upliftedIncomePercent"); sb.append('='); sb.append(((this.upliftedIncomePercent == null)?"":this.upliftedIncomePercent)); sb.append(','); sb.append("minUpliftedMonthlyAmount"); sb.append('='); sb.append(((this.minUpliftedMonthlyAmount == null)?"":this.minUpliftedMonthlyAmount)); 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.contributionCap == null)? 0 :this.contributionCap.hashCode())); result = ((result* 31)+((this.annualDisposableIncome == null)? 0 :this.annualDisposableIncome.hashCode())); result = ((result* 31)+((this.upliftApplied == null)? 0 :this.upliftApplied.hashCode())); result = ((result* 31)+((this.minimumMonthlyAmount == null)? 0 :this.minimumMonthlyAmount.hashCode())); result = ((result* 31)+((this.minUpliftedMonthlyAmount == null)? 0 :this.minUpliftedMonthlyAmount.hashCode())); result = ((result* 31)+((this.upliftedIncomePercent == null)? 0 :this.upliftedIncomePercent.hashCode())); result = ((result* 31)+((this.disposableIncomePercent == null)? 0 :this.disposableIncomePercent.hashCode())); result = ((result* 31)+((this.upfrontTotalMonths == null)? 0 :this.upfrontTotalMonths.hashCode())); return result; } @Override public boolean equals(Object other) { if (other == this) { return true; } if ((other instanceof ApiCalculateContributionRequest) == false) { return false; } ApiCalculateContributionRequest rhs = ((ApiCalculateContributionRequest) other); return (((((((((this.contributionCap == rhs.contributionCap)||((this.contributionCap!= null)&&this.contributionCap.equals(rhs.contributionCap)))&&((this.annualDisposableIncome == rhs.annualDisposableIncome)||((this.annualDisposableIncome!= null)&&this.annualDisposableIncome.equals(rhs.annualDisposableIncome))))&&((this.upliftApplied == rhs.upliftApplied)||((this.upliftApplied!= null)&&this.upliftApplied.equals(rhs.upliftApplied))))&&((this.minimumMonthlyAmount == rhs.minimumMonthlyAmount)||((this.minimumMonthlyAmount!= null)&&this.minimumMonthlyAmount.equals(rhs.minimumMonthlyAmount))))&&((this.minUpliftedMonthlyAmount == rhs.minUpliftedMonthlyAmount)||((this.minUpliftedMonthlyAmount!= null)&&this.minUpliftedMonthlyAmount.equals(rhs.minUpliftedMonthlyAmount))))&&((this.upliftedIncomePercent == rhs.upliftedIncomePercent)||((this.upliftedIncomePercent!= null)&&this.upliftedIncomePercent.equals(rhs.upliftedIncomePercent))))&&((this.disposableIncomePercent == rhs.disposableIncomePercent)||((this.disposableIncomePercent!= null)&&this.disposableIncomePercent.equals(rhs.disposableIncomePercent))))&&((this.upfrontTotalMonths == rhs.upfrontTotalMonths)||((this.upfrontTotalMonths!= null)&&this.upfrontTotalMonths.equals(rhs.upfrontTotalMonths)))); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy