
uk.gov.justice.laa.crime.common.model.evidence.ApiIncomeEvidenceItems Maven / Gradle / Ivy
package uk.gov.justice.laa.crime.common.model.evidence;
import java.util.ArrayList;
import java.util.List;
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.Valid;
import jakarta.validation.constraints.NotNull;
/**
* Income Evidence Items
*
* Represents a list of income evidence records associated with an applicant
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"applicantDetails",
"incomeEvidenceItems"
})
@Generated("jsonschema2pojo")
public class ApiIncomeEvidenceItems {
/**
* Applicant Details
*
* Information about an applicants reference and employment
* (Required)
*
*/
@JsonProperty("applicantDetails")
@JsonPropertyDescription("Information about an applicants reference and employment")
@Valid
@NotNull
private ApiApplicantDetails applicantDetails;
/**
* The list of associated income evidence items
*
*/
@JsonProperty("incomeEvidenceItems")
@JsonPropertyDescription("The list of associated income evidence items")
@Valid
private List incomeEvidenceItems = new ArrayList();
protected final static Object NOT_FOUND_VALUE = new Object();
/**
* No args constructor for use in serialization
*
*/
public ApiIncomeEvidenceItems() {
}
/**
*
* @param applicantDetails
* @param incomeEvidenceItems
*/
public ApiIncomeEvidenceItems(ApiApplicantDetails applicantDetails, List incomeEvidenceItems) {
super();
this.applicantDetails = applicantDetails;
this.incomeEvidenceItems = incomeEvidenceItems;
}
/**
* Applicant Details
*
* Information about an applicants reference and employment
* (Required)
*
*/
@JsonProperty("applicantDetails")
public ApiApplicantDetails getApplicantDetails() {
return applicantDetails;
}
/**
* Applicant Details
*
* Information about an applicants reference and employment
* (Required)
*
*/
@JsonProperty("applicantDetails")
public void setApplicantDetails(ApiApplicantDetails applicantDetails) {
this.applicantDetails = applicantDetails;
}
public ApiIncomeEvidenceItems withApplicantDetails(ApiApplicantDetails applicantDetails) {
this.applicantDetails = applicantDetails;
return this;
}
/**
* The list of associated income evidence items
*
*/
@JsonProperty("incomeEvidenceItems")
public List getIncomeEvidenceItems() {
return incomeEvidenceItems;
}
/**
* The list of associated income evidence items
*
*/
@JsonProperty("incomeEvidenceItems")
public void setIncomeEvidenceItems(List incomeEvidenceItems) {
this.incomeEvidenceItems = incomeEvidenceItems;
}
public ApiIncomeEvidenceItems withIncomeEvidenceItems(List incomeEvidenceItems) {
this.incomeEvidenceItems = incomeEvidenceItems;
return this;
}
protected boolean declaredProperty(String name, Object value) {
if ("applicantDetails".equals(name)) {
if (value instanceof ApiApplicantDetails) {
setApplicantDetails(((ApiApplicantDetails) value));
} else {
throw new IllegalArgumentException(("property \"applicantDetails\" is of type \"uk.gov.justice.laa.crime.common.model.evidence.ApiApplicantDetails\", but got "+ value.getClass().toString()));
}
return true;
} else {
if ("incomeEvidenceItems".equals(name)) {
if (value instanceof List) {
setIncomeEvidenceItems(((List ) value));
} else {
throw new IllegalArgumentException(("property \"incomeEvidenceItems\" is of type \"java.util.List\", but got "+ value.getClass().toString()));
}
return true;
} else {
return false;
}
}
}
protected Object declaredPropertyOrNotFound(String name, Object notFoundValue) {
if ("applicantDetails".equals(name)) {
return getApplicantDetails();
} else {
if ("incomeEvidenceItems".equals(name)) {
return getIncomeEvidenceItems();
} else {
return notFoundValue;
}
}
}
@SuppressWarnings({
"unchecked"
})
publicT get(String name) {
Object value = declaredPropertyOrNotFound(name, ApiIncomeEvidenceItems.NOT_FOUND_VALUE);
if (ApiIncomeEvidenceItems.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 ApiIncomeEvidenceItems 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(ApiIncomeEvidenceItems.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
sb.append("applicantDetails");
sb.append('=');
sb.append(((this.applicantDetails == null)?"":this.applicantDetails));
sb.append(',');
sb.append("incomeEvidenceItems");
sb.append('=');
sb.append(((this.incomeEvidenceItems == null)?"":this.incomeEvidenceItems));
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.applicantDetails == null)? 0 :this.applicantDetails.hashCode()));
result = ((result* 31)+((this.incomeEvidenceItems == null)? 0 :this.incomeEvidenceItems.hashCode()));
return result;
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof ApiIncomeEvidenceItems) == false) {
return false;
}
ApiIncomeEvidenceItems rhs = ((ApiIncomeEvidenceItems) other);
return (((this.applicantDetails == rhs.applicantDetails)||((this.applicantDetails!= null)&&this.applicantDetails.equals(rhs.applicantDetails)))&&((this.incomeEvidenceItems == rhs.incomeEvidenceItems)||((this.incomeEvidenceItems!= null)&&this.incomeEvidenceItems.equals(rhs.incomeEvidenceItems))));
}
}