uk.org.openbanking.datamodel.account.OBAccount3 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openbanking-sdk Show documentation
Show all versions of openbanking-sdk Show documentation
A Java SDK to help implementing the Open Banking standard : https://www.openbanking.org.uk/read-write-apis/
/**
*
* The contents of this file are subject to the terms of the Common Development and
* Distribution License (the License). You may not use this file except in compliance with the
* License.
*
* You can obtain a copy of the License at https://forgerock.org/cddlv1-0/. See the License for the
* specific language governing permission and limitations under the License.
*
* When distributing Covered Software, include this CDDL Header Notice in each file and include
* the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
* Header, with the fields enclosed by brackets [] replaced by your own identifying
* information: "Portions copyright [year] [name of copyright owner]".
*
* Copyright 2019 ForgeRock AS.
*/
/*
* Account and Transaction API Specification
* Swagger for Account and Transaction API Specification
*
* OpenAPI spec version: v3.1.1
* Contact: [email protected]
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package uk.org.openbanking.datamodel.account;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import uk.org.openbanking.validation.ValidISOCurrencyCode;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* Unambiguous identification of the account to which credit and debit entries are made.
*/
@ApiModel(description = "Unambiguous identification of the account to which credit and debit entries are made.")
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-05-23T11:27:41.089+01:00")
public class OBAccount3 {
@JsonProperty("AccountId")
private String accountId = null;
@JsonProperty("Currency")
private String currency = null;
@JsonProperty("AccountType")
private OBExternalAccountType1Code accountType = null;
@JsonProperty("AccountSubType")
private OBExternalAccountSubType1Code accountSubType = null;
@JsonProperty("Description")
private String description = null;
@JsonProperty("Nickname")
private String nickname = null;
@JsonProperty("Account")
private List account = null;
@JsonProperty("Servicer")
private OBBranchAndFinancialInstitutionIdentification5 servicer = null;
public OBAccount3 accountId(String accountId) {
this.accountId = accountId;
return this;
}
/**
* Get accountId
*
* @return accountId
**/
@NotNull
@Size(min = 1, max = 40)
@ApiModelProperty(required = true, value = "")
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId;
}
public OBAccount3 currency(String currency) {
this.currency = currency;
return this;
}
/**
* Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.
*
* @return currency
**/
@NotNull
@Pattern(regexp = "^[A-Z]{3,3}$")
@ValidISOCurrencyCode
@ApiModelProperty(required = true, value = "Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.")
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public OBAccount3 accountType(OBExternalAccountType1Code accountType) {
this.accountType = accountType;
return this;
}
/**
* Get accountType
*
* @return accountType
**/
@NotNull
@Valid
@ApiModelProperty(required = true, value = "")
public OBExternalAccountType1Code getAccountType() {
return accountType;
}
public void setAccountType(OBExternalAccountType1Code accountType) {
this.accountType = accountType;
}
public OBAccount3 accountSubType(OBExternalAccountSubType1Code accountSubType) {
this.accountSubType = accountSubType;
return this;
}
/**
* Get accountSubType
*
* @return accountSubType
**/
@NotNull
@Valid
@ApiModelProperty(required = true, value = "")
public OBExternalAccountSubType1Code getAccountSubType() {
return accountSubType;
}
public void setAccountSubType(OBExternalAccountSubType1Code accountSubType) {
this.accountSubType = accountSubType;
}
public OBAccount3 description(String description) {
this.description = description;
return this;
}
/**
* Specifies the description of the account type.
*
* @return description
**/
@Size(min = 1, max = 35)
@ApiModelProperty(value = "Specifies the description of the account type.")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public OBAccount3 nickname(String nickname) {
this.nickname = nickname;
return this;
}
/**
* The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.
*
* @return nickname
**/
@Size(min = 1, max = 70)
@ApiModelProperty(value = "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.")
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public OBAccount3 account(List account) {
this.account = account;
return this;
}
public OBAccount3 addAccountItem(OBCashAccount5 accountItem) {
if (this.account == null) {
this.account = new ArrayList();
}
this.account.add(accountItem);
return this;
}
/**
* Provides the details to identify an account.
*
* @return account
**/
@Valid
@ApiModelProperty(value = "Provides the details to identify an account.")
public List getAccount() {
return account;
}
public void setAccount(List account) {
this.account = account;
}
public OBAccount3 servicer(OBBranchAndFinancialInstitutionIdentification5 servicer) {
this.servicer = servicer;
return this;
}
/**
* Get servicer
*
* @return servicer
**/
@Valid
@ApiModelProperty(value = "")
public OBBranchAndFinancialInstitutionIdentification5 getServicer() {
return servicer;
}
public void setServicer(OBBranchAndFinancialInstitutionIdentification5 servicer) {
this.servicer = servicer;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
OBAccount3 obAccount3 = (OBAccount3) o;
return Objects.equals(this.accountId, obAccount3.accountId) &&
Objects.equals(this.currency, obAccount3.currency) &&
Objects.equals(this.accountType, obAccount3.accountType) &&
Objects.equals(this.accountSubType, obAccount3.accountSubType) &&
Objects.equals(this.description, obAccount3.description) &&
Objects.equals(this.nickname, obAccount3.nickname) &&
Objects.equals(this.account, obAccount3.account) &&
Objects.equals(this.servicer, obAccount3.servicer);
}
@Override
public int hashCode() {
return Objects.hash(accountId, currency, accountType, accountSubType, description, nickname, account, servicer);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class OBAccount3 {\n");
sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
sb.append(" currency: ").append(toIndentedString(currency)).append("\n");
sb.append(" accountType: ").append(toIndentedString(accountType)).append("\n");
sb.append(" accountSubType: ").append(toIndentedString(accountSubType)).append("\n");
sb.append(" description: ").append(toIndentedString(description)).append("\n");
sb.append(" nickname: ").append(toIndentedString(nickname)).append("\n");
sb.append(" account: ").append(toIndentedString(account)).append("\n");
sb.append(" servicer: ").append(toIndentedString(servicer)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}