com.adyen.model.marketpay.CreateAccountResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of adyen-java-api-library Show documentation
Show all versions of adyen-java-api-library Show documentation
Adyen API Client Library for Java
/*
* ######
* ######
* ############ ####( ###### #####. ###### ############ ############
* ############# #####( ###### #####. ###### ############# #############
* ###### #####( ###### #####. ###### ##### ###### ##### ######
* ###### ###### #####( ###### #####. ###### ##### ##### ##### ######
* ###### ###### #####( ###### #####. ###### ##### ##### ######
* ############# ############# ############# ############# ##### ######
* ############ ############ ############# ############ ##### ######
* ######
* #############
* ############
*
* Adyen Java API Library
*
* Copyright (c) 2020 Adyen B.V.
* This file is open source and available under the MIT license.
* See the LICENSE file for more info.
*/
package com.adyen.model.marketpay;
import com.fasterxml.jackson.annotation.JsonValue;
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 java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import static com.adyen.util.Util.toIndentedString;
/**
* CreateAccountResponse
*/
public class CreateAccountResponse {
@SerializedName("accountCode")
private String accountCode = null;
@SerializedName("accountHolderCode")
private String accountHolderCode = null;
@SerializedName("description")
private String description = null;
@SerializedName("invalidFields")
private List invalidFields = null;
@SerializedName("metadata")
private Map metadata = null;
@SerializedName("payoutSchedule")
private PayoutScheduleResponse payoutSchedule = null;
@SerializedName("pspReference")
private String pspReference = null;
@SerializedName("resultCode")
private String resultCode = null;
/**
* The status of the account. >Permitted values: `Active`.
*/
@JsonAdapter(StatusEnum.Adapter.class)
public enum StatusEnum {
ACTIVE("Active"),
CLOSED("Closed"),
INACTIVE("Inactive"),
SUSPENDED("Suspended");
@JsonValue
private String value;
StatusEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
public static StatusEnum fromValue(String text) {
return Arrays.stream(values()).
filter(s -> s.value.equals(text)).
findFirst().orElse(null);
}
public static class Adapter extends TypeAdapter {
@Override
public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException {
jsonWriter.value(enumeration.getValue());
}
@Override
public StatusEnum read(final JsonReader jsonReader) throws IOException {
String value = jsonReader.nextString();
return StatusEnum.fromValue(String.valueOf(value));
}
}
}
@SerializedName("status")
private StatusEnum status = null;
public CreateAccountResponse accountCode(String accountCode) {
this.accountCode = accountCode;
return this;
}
/**
* The code of the new account.
*
* @return accountCode
**/
public String getAccountCode() {
return accountCode;
}
public void setAccountCode(String accountCode) {
this.accountCode = accountCode;
}
public CreateAccountResponse accountHolderCode(String accountHolderCode) {
this.accountHolderCode = accountHolderCode;
return this;
}
/**
* The code of the account holder.
*
* @return accountHolderCode
**/
public String getAccountHolderCode() {
return accountHolderCode;
}
public void setAccountHolderCode(String accountHolderCode) {
this.accountHolderCode = accountHolderCode;
}
public CreateAccountResponse description(String description) {
this.description = description;
return this;
}
/**
* The description of the account.
*
* @return description
**/
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public CreateAccountResponse invalidFields(List invalidFields) {
this.invalidFields = invalidFields;
return this;
}
public CreateAccountResponse addInvalidFieldsItem(ErrorFieldType invalidFieldsItem) {
if (this.invalidFields == null) {
this.invalidFields = new ArrayList<>();
}
this.invalidFields.add(invalidFieldsItem);
return this;
}
/**
* A list of fields that caused the `/createAccount` request to fail.
*
* @return invalidFields
**/
public List getInvalidFields() {
return invalidFields;
}
public void setInvalidFields(List invalidFields) {
this.invalidFields = invalidFields;
}
public CreateAccountResponse metadata(Map metadata) {
this.metadata = metadata;
return this;
}
public CreateAccountResponse putMetadataItem(String key, String metadataItem) {
if (this.metadata == null) {
this.metadata = new HashMap<>();
}
this.metadata.put(key, metadataItem);
return this;
}
/**
* Get metadata
*
* @return metadata
**/
public Map getMetadata() {
return metadata;
}
public void setMetadata(Map metadata) {
this.metadata = metadata;
}
public CreateAccountResponse payoutSchedule(PayoutScheduleResponse payoutSchedule) {
this.payoutSchedule = payoutSchedule;
return this;
}
/**
* Get payoutSchedule
*
* @return payoutSchedule
**/
public PayoutScheduleResponse getPayoutSchedule() {
return payoutSchedule;
}
public void setPayoutSchedule(PayoutScheduleResponse payoutSchedule) {
this.payoutSchedule = payoutSchedule;
}
public CreateAccountResponse pspReference(String pspReference) {
this.pspReference = pspReference;
return this;
}
/**
* The reference of a request. Can be used to uniquely identify the request.
*
* @return pspReference
**/
public String getPspReference() {
return pspReference;
}
public void setPspReference(String pspReference) {
this.pspReference = pspReference;
}
public CreateAccountResponse resultCode(String resultCode) {
this.resultCode = resultCode;
return this;
}
/**
* The result code.
*
* @return resultCode
**/
public String getResultCode() {
return resultCode;
}
public void setResultCode(String resultCode) {
this.resultCode = resultCode;
}
public CreateAccountResponse status(StatusEnum status) {
this.status = status;
return this;
}
/**
* The status of the account. >Permitted values: `Active`.
*
* @return status
**/
public StatusEnum getStatus() {
return status;
}
public void setStatus(StatusEnum status) {
this.status = status;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
CreateAccountResponse createAccountResponse = (CreateAccountResponse) o;
return Objects.equals(this.accountCode, createAccountResponse.accountCode) &&
Objects.equals(this.accountHolderCode, createAccountResponse.accountHolderCode) &&
Objects.equals(this.description, createAccountResponse.description) &&
Objects.equals(this.invalidFields, createAccountResponse.invalidFields) &&
Objects.equals(this.metadata, createAccountResponse.metadata) &&
Objects.equals(this.payoutSchedule, createAccountResponse.payoutSchedule) &&
Objects.equals(this.pspReference, createAccountResponse.pspReference) &&
Objects.equals(this.resultCode, createAccountResponse.resultCode) &&
Objects.equals(this.status, createAccountResponse.status);
}
@Override
public int hashCode() {
return Objects.hash(accountCode, accountHolderCode, description, invalidFields, metadata, payoutSchedule, pspReference, resultCode, status);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class CreateAccountResponse {\n");
sb.append(" accountCode: ").append(toIndentedString(accountCode)).append("\n");
sb.append(" accountHolderCode: ").append(toIndentedString(accountHolderCode)).append("\n");
sb.append(" description: ").append(toIndentedString(description)).append("\n");
sb.append(" invalidFields: ").append(toIndentedString(invalidFields)).append("\n");
sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n");
sb.append(" payoutSchedule: ").append(toIndentedString(payoutSchedule)).append("\n");
sb.append(" pspReference: ").append(toIndentedString(pspReference)).append("\n");
sb.append(" resultCode: ").append(toIndentedString(resultCode)).append("\n");
sb.append(" status: ").append(toIndentedString(status)).append("\n");
sb.append("}");
return sb.toString();
}
}