Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* finAPI RESTful Services
* finAPI RESTful Services
*
* OpenAPI spec version: v1.64.0
*
*
* 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 io.swagger.client.model;
import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* Container for a bank's data
*/
@ApiModel(description = "Container for a bank's data")
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-02-05T12:19:21.458Z")
public class Bank {
@SerializedName("id")
private Long id = null;
@SerializedName("name")
private String name = null;
@SerializedName("loginHint")
private String loginHint = null;
@SerializedName("bic")
private String bic = null;
@SerializedName("blz")
private String blz = null;
@SerializedName("blzs")
private List blzs = new ArrayList();
@SerializedName("loginFieldUserId")
private String loginFieldUserId = null;
@SerializedName("loginFieldCustomerId")
private String loginFieldCustomerId = null;
@SerializedName("loginFieldPin")
private String loginFieldPin = null;
@SerializedName("isCustomerIdPassword")
private Boolean isCustomerIdPassword = null;
@SerializedName("isSupported")
private Boolean isSupported = null;
/**
* Gets or Sets supportedDataSources
*/
@JsonAdapter(SupportedDataSourcesEnum.Adapter.class)
public enum SupportedDataSourcesEnum {
WEB_SCRAPER("WEB_SCRAPER"),
FINTS_SERVER("FINTS_SERVER");
private String value;
SupportedDataSourcesEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
public static SupportedDataSourcesEnum fromValue(String text) {
for (SupportedDataSourcesEnum b : SupportedDataSourcesEnum.values()) {
if (String.valueOf(b.value).equals(text)) {
return b;
}
}
return null;
}
public static class Adapter extends TypeAdapter {
@Override
public void write(final JsonWriter jsonWriter, final SupportedDataSourcesEnum enumeration) throws IOException {
jsonWriter.value(enumeration.getValue());
}
@Override
public SupportedDataSourcesEnum read(final JsonReader jsonReader) throws IOException {
String value = jsonReader.nextString();
return SupportedDataSourcesEnum.fromValue(String.valueOf(value));
}
}
}
@SerializedName("supportedDataSources")
private List supportedDataSources = new ArrayList();
@SerializedName("pinsAreVolatile")
private Boolean pinsAreVolatile = null;
@SerializedName("location")
private String location = null;
@SerializedName("city")
private String city = null;
@SerializedName("isTestBank")
private Boolean isTestBank = null;
@SerializedName("popularity")
private Integer popularity = null;
@SerializedName("health")
private Integer health = null;
@SerializedName("lastCommunicationAttempt")
private String lastCommunicationAttempt = null;
@SerializedName("lastSuccessfulCommunication")
private String lastSuccessfulCommunication = null;
public Bank id(Long id) {
this.id = id;
return this;
}
/**
* Bank identifier.<br/><br/>NOTE: Do NOT assume that the identifiers of banks are the same across different finAPI environments. In fact, the identifiers may change whenever a new finAPI version is released, even within the same environment. The identifiers are meant to be used for references within the finAPI services only, but not for hard-coding them in your application. If you need to hard-code the usage of a certain bank within your application, please instead refer to the BLZ.
* @return id
**/
@ApiModelProperty(example = "277672", required = true, value = "Bank identifier.
NOTE: Do NOT assume that the identifiers of banks are the same across different finAPI environments. In fact, the identifiers may change whenever a new finAPI version is released, even within the same environment. The identifiers are meant to be used for references within the finAPI services only, but not for hard-coding them in your application. If you need to hard-code the usage of a certain bank within your application, please instead refer to the BLZ.")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Bank name(String name) {
this.name = name;
return this;
}
/**
* Name of bank
* @return name
**/
@ApiModelProperty(example = "FinAPI Test Bank", required = true, value = "Name of bank")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Bank loginHint(String loginHint) {
this.loginHint = loginHint;
return this;
}
/**
* Login hint. Contains a German message for the user that explains what kind of credentials are expected.<br/><br/>Please note that it is strongly recommended to always show the login hint to the user if there is one, as the credentials that finAPI requires for the bank might be different to the credentials that the user knows from the bank's website.<br/><br/>Also note that the contents of this field should always be interpreted as HTML, as the text might contain HTML tags for highlighted words, paragraphs, etc.
* @return loginHint
**/
@ApiModelProperty(example = "Bitte geben Sie Ihre Online-Identifikation und Ihre PIN ein.", value = "Login hint. Contains a German message for the user that explains what kind of credentials are expected.
Please note that it is strongly recommended to always show the login hint to the user if there is one, as the credentials that finAPI requires for the bank might be different to the credentials that the user knows from the bank's website.
Also note that the contents of this field should always be interpreted as HTML, as the text might contain HTML tags for highlighted words, paragraphs, etc.")
public String getLoginHint() {
return loginHint;
}
public void setLoginHint(String loginHint) {
this.loginHint = loginHint;
}
public Bank bic(String bic) {
this.bic = bic;
return this;
}
/**
* BIC of bank
* @return bic
**/
@ApiModelProperty(example = "TESTBANKING", value = "BIC of bank")
public String getBic() {
return bic;
}
public void setBic(String bic) {
this.bic = bic;
}
public Bank blz(String blz) {
this.blz = blz;
return this;
}
/**
* BLZ of bank
* @return blz
**/
@ApiModelProperty(example = "00000000", required = true, value = "BLZ of bank")
public String getBlz() {
return blz;
}
public void setBlz(String blz) {
this.blz = blz;
}
public Bank blzs(List blzs) {
this.blzs = blzs;
return this;
}
public Bank addBlzsItem(String blzsItem) {
this.blzs.add(blzsItem);
return this;
}
/**
* List of BLZs that belong to this bank. NOTE: This field is deprecated and will be removed at some point. Please refer to field 'blz' instead.
* @return blzs
**/
@ApiModelProperty(example = "[]", required = true, value = "List of BLZs that belong to this bank. NOTE: This field is deprecated and will be removed at some point. Please refer to field 'blz' instead.")
public List getBlzs() {
return blzs;
}
public void setBlzs(List blzs) {
this.blzs = blzs;
}
public Bank loginFieldUserId(String loginFieldUserId) {
this.loginFieldUserId = loginFieldUserId;
return this;
}
/**
* Label for the user ID login field, as it is called on the bank's website (e.g. \"Nutzerkennung\"). If this field is set (i.e. not null) then you should prompt your users to enter the required data in a text field which you can label with this field's value.
* @return loginFieldUserId
**/
@ApiModelProperty(example = "Onlinebanking-ID", value = "Label for the user ID login field, as it is called on the bank's website (e.g. \"Nutzerkennung\"). If this field is set (i.e. not null) then you should prompt your users to enter the required data in a text field which you can label with this field's value.")
public String getLoginFieldUserId() {
return loginFieldUserId;
}
public void setLoginFieldUserId(String loginFieldUserId) {
this.loginFieldUserId = loginFieldUserId;
}
public Bank loginFieldCustomerId(String loginFieldCustomerId) {
this.loginFieldCustomerId = loginFieldCustomerId;
return this;
}
/**
* Label for the customer ID login field, as it is called on the bank's website (e.g. \"Kundennummer\"). If this field is set (i.e. not null) then you should prompt your users to enter the required data in a text field which you can label with this field's value.
* @return loginFieldCustomerId
**/
@ApiModelProperty(example = "Kunden-ID", value = "Label for the customer ID login field, as it is called on the bank's website (e.g. \"Kundennummer\"). If this field is set (i.e. not null) then you should prompt your users to enter the required data in a text field which you can label with this field's value.")
public String getLoginFieldCustomerId() {
return loginFieldCustomerId;
}
public void setLoginFieldCustomerId(String loginFieldCustomerId) {
this.loginFieldCustomerId = loginFieldCustomerId;
}
public Bank loginFieldPin(String loginFieldPin) {
this.loginFieldPin = loginFieldPin;
return this;
}
/**
* Label for the PIN field, as it is called on the bank's website (mostly \"PIN\"). If this field is set (i.e. not null) then you should prompt your users to enter the required data in a text field which you can label with this field's value.
* @return loginFieldPin
**/
@ApiModelProperty(example = "PIN", value = "Label for the PIN field, as it is called on the bank's website (mostly \"PIN\"). If this field is set (i.e. not null) then you should prompt your users to enter the required data in a text field which you can label with this field's value.")
public String getLoginFieldPin() {
return loginFieldPin;
}
public void setLoginFieldPin(String loginFieldPin) {
this.loginFieldPin = loginFieldPin;
}
public Bank isCustomerIdPassword(Boolean isCustomerIdPassword) {
this.isCustomerIdPassword = isCustomerIdPassword;
return this;
}
/**
* Whether the banking customer ID has to be treated like a password. Certain banks require a second password (besides the PIN) for the user to login. In this case your application should use a password input field when prompting users for their credentials.
* @return isCustomerIdPassword
**/
@ApiModelProperty(example = "false", required = true, value = "Whether the banking customer ID has to be treated like a password. Certain banks require a second password (besides the PIN) for the user to login. In this case your application should use a password input field when prompting users for their credentials.")
public Boolean isIsCustomerIdPassword() {
return isCustomerIdPassword;
}
public void setIsCustomerIdPassword(Boolean isCustomerIdPassword) {
this.isCustomerIdPassword = isCustomerIdPassword;
}
public Bank isSupported(Boolean isSupported) {
this.isSupported = isSupported;
return this;
}
/**
* Whether this bank is supported by finAPI, i.e. whether you can import/update a bank connection of this bank.
* @return isSupported
**/
@ApiModelProperty(example = "true", required = true, value = "Whether this bank is supported by finAPI, i.e. whether you can import/update a bank connection of this bank.")
public Boolean isIsSupported() {
return isSupported;
}
public void setIsSupported(Boolean isSupported) {
this.isSupported = isSupported;
}
public Bank supportedDataSources(List supportedDataSources) {
this.supportedDataSources = supportedDataSources;
return this;
}
public Bank addSupportedDataSourcesItem(SupportedDataSourcesEnum supportedDataSourcesItem) {
this.supportedDataSources.add(supportedDataSourcesItem);
return this;
}
/**
* List of the data sources that finAPI will use for data download for this bank. Possible values:<br><br>• <code>FINTS_SERVER</code> - means that finAPI will download data via the bank's FinTS interface.<br>• <code>WEB_SCRAPER</code> - means that finAPI will parse data from the bank's online banking website.<br><br>Note that this list will be empty for non-supported banks. Note also that web scraping might be disabled for your client (see GET /clientConfiguration). When this is the case, then finAPI will not use the web scraper for data download, and if the web scraper is the only supported data source of this bank, then finAPI will not allow to download any data for this bank at all (for details, see POST /bankConnections/import and POST /bankConnections/update).
* @return supportedDataSources
**/
@ApiModelProperty(example = "[\"FINTS_SERVER\",\"WEB_SCRAPER\"]", required = true, value = "List of the data sources that finAPI will use for data download for this bank. Possible values:
• FINTS_SERVER - means that finAPI will download data via the bank's FinTS interface. • WEB_SCRAPER - means that finAPI will parse data from the bank's online banking website.
Note that this list will be empty for non-supported banks. Note also that web scraping might be disabled for your client (see GET /clientConfiguration). When this is the case, then finAPI will not use the web scraper for data download, and if the web scraper is the only supported data source of this bank, then finAPI will not allow to download any data for this bank at all (for details, see POST /bankConnections/import and POST /bankConnections/update).")
public List getSupportedDataSources() {
return supportedDataSources;
}
public void setSupportedDataSources(List supportedDataSources) {
this.supportedDataSources = supportedDataSources;
}
public Bank pinsAreVolatile(Boolean pinsAreVolatile) {
this.pinsAreVolatile = pinsAreVolatile;
return this;
}
/**
* Whether the PINs that are used for authentication with the bank are volatile. If the PINs are volatile, it means that a PIN is usually valid only for a single authentication, and is then invalidated. If a bank uses volatile PINs, it is strongly inadvisable to store PINs in finAPI, as a stored PIN will not work for future authentications.
* @return pinsAreVolatile
**/
@ApiModelProperty(example = "true", required = true, value = "Whether the PINs that are used for authentication with the bank are volatile. If the PINs are volatile, it means that a PIN is usually valid only for a single authentication, and is then invalidated. If a bank uses volatile PINs, it is strongly inadvisable to store PINs in finAPI, as a stored PIN will not work for future authentications.")
public Boolean isPinsAreVolatile() {
return pinsAreVolatile;
}
public void setPinsAreVolatile(Boolean pinsAreVolatile) {
this.pinsAreVolatile = pinsAreVolatile;
}
public Bank location(String location) {
this.location = location;
return this;
}
/**
* Bank location (two-letter country code; ISO 3166 ALPHA-2). Note that when this field is not set, it means that this bank depicts an international institute which is not bound to any specific country.
* @return location
**/
@ApiModelProperty(example = "DE", value = "Bank location (two-letter country code; ISO 3166 ALPHA-2). Note that when this field is not set, it means that this bank depicts an international institute which is not bound to any specific country.")
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public Bank city(String city) {
this.city = city;
return this;
}
/**
* City that this bank is located in. Note that this field may not be set for some banks.
* @return city
**/
@ApiModelProperty(example = "München", value = "City that this bank is located in. Note that this field may not be set for some banks.")
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public Bank isTestBank(Boolean isTestBank) {
this.isTestBank = isTestBank;
return this;
}
/**
* If true, then this bank does not depict a real bank, but rather a testing endpoint provided by a bank or by finAPI. You probably want to regard these banks only during the development of your application, but not in production. You can filter out these banks in production by making sure that the 'isTestBank' parameter is always set to 'false' whenever your application is calling the 'Get and search all banks' service.
* @return isTestBank
**/
@ApiModelProperty(example = "true", required = true, value = "If true, then this bank does not depict a real bank, but rather a testing endpoint provided by a bank or by finAPI. You probably want to regard these banks only during the development of your application, but not in production. You can filter out these banks in production by making sure that the 'isTestBank' parameter is always set to 'false' whenever your application is calling the 'Get and search all banks' service.")
public Boolean isIsTestBank() {
return isTestBank;
}
public void setIsTestBank(Boolean isTestBank) {
this.isTestBank = isTestBank;
}
public Bank popularity(Integer popularity) {
this.popularity = popularity;
return this;
}
/**
* Popularity of this bank with your users (mandator-wide, i.e. across all of your clients). The value equals the number of bank connections that are currently imported for this bank across all of your users (which means it is a constantly adjusting value). You can use this field for statistical evaluation, and also for ordering bank search results (see service 'Get and search all banks').
* @return popularity
**/
@ApiModelProperty(example = "95", required = true, value = "Popularity of this bank with your users (mandator-wide, i.e. across all of your clients). The value equals the number of bank connections that are currently imported for this bank across all of your users (which means it is a constantly adjusting value). You can use this field for statistical evaluation, and also for ordering bank search results (see service 'Get and search all banks').")
public Integer getPopularity() {
return popularity;
}
public void setPopularity(Integer popularity) {
this.popularity = popularity;
}
public Bank health(Integer health) {
this.health = health;
return this;
}
/**
* The health status of this bank. This is a value between 0 and 100, depicting the percentage of successful communication attempts with this bank during the latest couple of bank connection imports or updates (across the entire finAPI system). Note that 'successful' means that there was no technical error trying to establish a communication with the bank. Non-technical errors (like incorrect credentials) are regarded successful communication attempts.
* minimum: 0
* maximum: 100
* @return health
**/
@ApiModelProperty(example = "100", required = true, value = "The health status of this bank. This is a value between 0 and 100, depicting the percentage of successful communication attempts with this bank during the latest couple of bank connection imports or updates (across the entire finAPI system). Note that 'successful' means that there was no technical error trying to establish a communication with the bank. Non-technical errors (like incorrect credentials) are regarded successful communication attempts.")
public Integer getHealth() {
return health;
}
public void setHealth(Integer health) {
this.health = health;
}
public Bank lastCommunicationAttempt(String lastCommunicationAttempt) {
this.lastCommunicationAttempt = lastCommunicationAttempt;
return this;
}
/**
* Time of the last communication attempt with this bank during a bank connection import or update (across the entire finAPI system). The value is returned in the format 'YYYY-MM-DD HH:MM:SS.SSS' (german time).
* @return lastCommunicationAttempt
**/
@ApiModelProperty(example = "2018-01-01 00:00:00.000", value = "Time of the last communication attempt with this bank during a bank connection import or update (across the entire finAPI system). The value is returned in the format 'YYYY-MM-DD HH:MM:SS.SSS' (german time).")
public String getLastCommunicationAttempt() {
return lastCommunicationAttempt;
}
public void setLastCommunicationAttempt(String lastCommunicationAttempt) {
this.lastCommunicationAttempt = lastCommunicationAttempt;
}
public Bank lastSuccessfulCommunication(String lastSuccessfulCommunication) {
this.lastSuccessfulCommunication = lastSuccessfulCommunication;
return this;
}
/**
* Time of the last successful communication with this bank during a bank connection import or update (across the entire finAPI system). The value is returned in the format 'YYYY-MM-DD HH:MM:SS.SSS' (german time).
* @return lastSuccessfulCommunication
**/
@ApiModelProperty(example = "2018-01-01 00:00:00.000", value = "Time of the last successful communication with this bank during a bank connection import or update (across the entire finAPI system). The value is returned in the format 'YYYY-MM-DD HH:MM:SS.SSS' (german time).")
public String getLastSuccessfulCommunication() {
return lastSuccessfulCommunication;
}
public void setLastSuccessfulCommunication(String lastSuccessfulCommunication) {
this.lastSuccessfulCommunication = lastSuccessfulCommunication;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Bank bank = (Bank) o;
return Objects.equals(this.id, bank.id) &&
Objects.equals(this.name, bank.name) &&
Objects.equals(this.loginHint, bank.loginHint) &&
Objects.equals(this.bic, bank.bic) &&
Objects.equals(this.blz, bank.blz) &&
Objects.equals(this.blzs, bank.blzs) &&
Objects.equals(this.loginFieldUserId, bank.loginFieldUserId) &&
Objects.equals(this.loginFieldCustomerId, bank.loginFieldCustomerId) &&
Objects.equals(this.loginFieldPin, bank.loginFieldPin) &&
Objects.equals(this.isCustomerIdPassword, bank.isCustomerIdPassword) &&
Objects.equals(this.isSupported, bank.isSupported) &&
Objects.equals(this.supportedDataSources, bank.supportedDataSources) &&
Objects.equals(this.pinsAreVolatile, bank.pinsAreVolatile) &&
Objects.equals(this.location, bank.location) &&
Objects.equals(this.city, bank.city) &&
Objects.equals(this.isTestBank, bank.isTestBank) &&
Objects.equals(this.popularity, bank.popularity) &&
Objects.equals(this.health, bank.health) &&
Objects.equals(this.lastCommunicationAttempt, bank.lastCommunicationAttempt) &&
Objects.equals(this.lastSuccessfulCommunication, bank.lastSuccessfulCommunication);
}
@Override
public int hashCode() {
return Objects.hash(id, name, loginHint, bic, blz, blzs, loginFieldUserId, loginFieldCustomerId, loginFieldPin, isCustomerIdPassword, isSupported, supportedDataSources, pinsAreVolatile, location, city, isTestBank, popularity, health, lastCommunicationAttempt, lastSuccessfulCommunication);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Bank {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" loginHint: ").append(toIndentedString(loginHint)).append("\n");
sb.append(" bic: ").append(toIndentedString(bic)).append("\n");
sb.append(" blz: ").append(toIndentedString(blz)).append("\n");
sb.append(" blzs: ").append(toIndentedString(blzs)).append("\n");
sb.append(" loginFieldUserId: ").append(toIndentedString(loginFieldUserId)).append("\n");
sb.append(" loginFieldCustomerId: ").append(toIndentedString(loginFieldCustomerId)).append("\n");
sb.append(" loginFieldPin: ").append(toIndentedString(loginFieldPin)).append("\n");
sb.append(" isCustomerIdPassword: ").append(toIndentedString(isCustomerIdPassword)).append("\n");
sb.append(" isSupported: ").append(toIndentedString(isSupported)).append("\n");
sb.append(" supportedDataSources: ").append(toIndentedString(supportedDataSources)).append("\n");
sb.append(" pinsAreVolatile: ").append(toIndentedString(pinsAreVolatile)).append("\n");
sb.append(" location: ").append(toIndentedString(location)).append("\n");
sb.append(" city: ").append(toIndentedString(city)).append("\n");
sb.append(" isTestBank: ").append(toIndentedString(isTestBank)).append("\n");
sb.append(" popularity: ").append(toIndentedString(popularity)).append("\n");
sb.append(" health: ").append(toIndentedString(health)).append("\n");
sb.append(" lastCommunicationAttempt: ").append(toIndentedString(lastCommunicationAttempt)).append("\n");
sb.append(" lastSuccessfulCommunication: ").append(toIndentedString(lastSuccessfulCommunication)).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(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}