package com.stripe.model; import com.stripe.exception.APIConnectionException; import com.stripe.exception.APIException; import com.stripe.exception.AuthenticationException; import com.stripe.exception.CardException; import com.stripe.exception.InvalidRequestException; import com.stripe.net.APIResource; import com.stripe.net.RequestOptions; import java.util.List; import java.util.Map; import com.google.gson.annotations.SerializedName; public class LegalEntity extends StripeObject { List<Owner> additionalOwners; Address address; String businessName; Boolean businessTaxIdProvided; DateOfBirth dob; String firstName; String lastName; Address personalAddress; Boolean personalIdNumberProvided; @SerializedName("ssn_last_4_provided")/*Annotation required for GSON serialization for field with number*/ Boolean ssnLast4Provided; String type; Verification verification; public List<Owner> getAdditionalOwners() { return additionalOwners; } public Address getAddress() { return address; } public String getBusinessName() { return businessName; } public Boolean getBusinessTaxIdProvided() { return businessTaxIdProvided; } public void setBusinessTaxIdProvided(Boolean businessTaxIdProvided) { this.businessTaxIdProvided = businessTaxIdProvided; } public DateOfBirth getDob() { return dob; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public Address getPersonalAddress() { return personalAddress; } public Boolean getPersonalIdNumberProvided() { return personalIdNumberProvided; } public void setPersonalIdNumberProvided(Boolean personalIdNumberProvided) { this.personalIdNumberProvided = personalIdNumberProvided; } public Boolean getSsnLast4Provided() { return ssnLast4Provided; } public void setSsnLast4Provided(Boolean ssnLast4Provided) { this.ssnLast4Provided = ssnLast4Provided; } public String getType() { return type; } public Verification getVerification() { return verification; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } LegalEntity le = (LegalEntity) o; return equals(additionalOwners, le.additionalOwners) && equals(address, le.address) && equals(businessName, le.businessName) && equals(dob, le.dob) && equals(firstName, le.firstName) && equals(lastName, le.lastName) && equals(personalAddress, le.personalAddress) && equals(personalIdNumberProvided, le.personalIdNumberProvided) && equals(ssnLast4Provided, le.ssnLast4Provided) && equals(type, le.type) && equals(verification, le.verification); } public static class DateOfBirth extends StripeObject { Integer day; Integer month; Integer year; public Integer getDay() { return day; } public Integer getMonth() { return month; } public Integer getYear() { return year; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } DateOfBirth dob = (DateOfBirth) o; return equals(day, dob.day) && equals(month, dob.month) && equals(year, dob.year); } } public static class Verification extends StripeObject { String details; String detailsCode; String document; String status; public String getDetails() { return details; } public String getDetailsCode() { return detailsCode; } public String getDocument() { return document; } public String getStatus() { return status; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Verification verification = (Verification) o; return equals(details, verification.details) && equals(detailsCode, verification.detailsCode) && equals(document, verification.document) && equals(status, verification.status); } } public static class Owner extends StripeObject { Address address; DateOfBirth dob; String firstName; String lastName; Verification verification; public Address getAddress() { return address; } public DateOfBirth getDob() { return dob; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public Verification getVerification() { return verification; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Owner owner = (Owner) o; return equals(address, owner.address) && equals(dob, owner.dob) && equals(firstName, owner.firstName) && equals(lastName, owner.lastName) && equals(verification, owner.verification); } } }