com.plaid.client.model.ExternalPaymentScheduleBase Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plaid-java Show documentation
Show all versions of plaid-java Show documentation
Bindings for the Plaid (plaid.com) API.
/*
* The Plaid API
* The Plaid REST API. Please see https://plaid.com/docs/api for more details.
*
* The version of the OpenAPI document: 2020-09-14_1.534.3
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.plaid.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 com.plaid.client.model.PaymentScheduleInterval;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.time.LocalDate;
/**
* The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.
*/
@ApiModel(description = "The schedule that the payment will be executed on. If a schedule is provided, the payment is automatically set up as a standing order. If no schedule is specified, the payment will be executed only once.")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2024-07-05T19:36:13.426392Z[Etc/UTC]")
public class ExternalPaymentScheduleBase {
public static final String SERIALIZED_NAME_INTERVAL = "interval";
@SerializedName(SERIALIZED_NAME_INTERVAL)
private PaymentScheduleInterval interval;
public static final String SERIALIZED_NAME_INTERVAL_EXECUTION_DAY = "interval_execution_day";
@SerializedName(SERIALIZED_NAME_INTERVAL_EXECUTION_DAY)
private Integer intervalExecutionDay;
public static final String SERIALIZED_NAME_START_DATE = "start_date";
@SerializedName(SERIALIZED_NAME_START_DATE)
private LocalDate startDate;
public static final String SERIALIZED_NAME_END_DATE = "end_date";
@SerializedName(SERIALIZED_NAME_END_DATE)
private LocalDate endDate;
public static final String SERIALIZED_NAME_ADJUSTED_START_DATE = "adjusted_start_date";
@SerializedName(SERIALIZED_NAME_ADJUSTED_START_DATE)
private LocalDate adjustedStartDate;
public ExternalPaymentScheduleBase interval(PaymentScheduleInterval interval) {
this.interval = interval;
return this;
}
/**
* Get interval
* @return interval
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "")
public PaymentScheduleInterval getInterval() {
return interval;
}
public void setInterval(PaymentScheduleInterval interval) {
this.interval = interval;
}
public ExternalPaymentScheduleBase intervalExecutionDay(Integer intervalExecutionDay) {
this.intervalExecutionDay = intervalExecutionDay;
return this;
}
/**
* The day of the interval on which to schedule the payment. If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on.
* @return intervalExecutionDay
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "The day of the interval on which to schedule the payment. If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). If the payment interval is monthly, `interval_execution_day` should be an integer indicating which day of the month to make the payment on. Integers from 1 to 28 can be used to make a payment on that day of the month. Negative integers from -1 to -5 can be used to make a payment relative to the end of the month. To make a payment on the last day of the month, use -1; to make the payment on the second-to-last day, use -2, and so on.")
public Integer getIntervalExecutionDay() {
return intervalExecutionDay;
}
public void setIntervalExecutionDay(Integer intervalExecutionDay) {
this.intervalExecutionDay = intervalExecutionDay;
}
public ExternalPaymentScheduleBase startDate(LocalDate startDate) {
this.startDate = startDate;
return this;
}
/**
* A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`. If the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so.
* @return startDate
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will begin on the first `interval_execution_day` on or after the `start_date`. If the first `interval_execution_day` on or after the start date is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make the first payment on that day, but it is not guaranteed to do so.")
public LocalDate getStartDate() {
return startDate;
}
public void setStartDate(LocalDate startDate) {
this.startDate = startDate;
}
public ExternalPaymentScheduleBase endDate(LocalDate endDate) {
this.endDate = endDate;
return this;
}
/**
* A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`. If the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so.
* @return endDate
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "A date in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). Standing order payments will end on the last `interval_execution_day` on or before the `end_date`. If the only `interval_execution_day` between the start date and the end date (inclusive) is also the same day that `/payment_initiation/payment/create` was called, the bank *may* make a payment on that day, but it is not guaranteed to do so.")
public LocalDate getEndDate() {
return endDate;
}
public void setEndDate(LocalDate endDate) {
this.endDate = endDate;
}
public ExternalPaymentScheduleBase adjustedStartDate(LocalDate adjustedStartDate) {
this.adjustedStartDate = adjustedStartDate;
return this;
}
/**
* The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`.
* @return adjustedStartDate
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "The start date sent to the bank after adjusting for holidays or weekends. Will be provided in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD). If the start date did not require adjustment, this field will be `null`.")
public LocalDate getAdjustedStartDate() {
return adjustedStartDate;
}
public void setAdjustedStartDate(LocalDate adjustedStartDate) {
this.adjustedStartDate = adjustedStartDate;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ExternalPaymentScheduleBase externalPaymentScheduleBase = (ExternalPaymentScheduleBase) o;
return Objects.equals(this.interval, externalPaymentScheduleBase.interval) &&
Objects.equals(this.intervalExecutionDay, externalPaymentScheduleBase.intervalExecutionDay) &&
Objects.equals(this.startDate, externalPaymentScheduleBase.startDate) &&
Objects.equals(this.endDate, externalPaymentScheduleBase.endDate) &&
Objects.equals(this.adjustedStartDate, externalPaymentScheduleBase.adjustedStartDate);
}
@Override
public int hashCode() {
return Objects.hash(interval, intervalExecutionDay, startDate, endDate, adjustedStartDate);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ExternalPaymentScheduleBase {\n");
sb.append(" interval: ").append(toIndentedString(interval)).append("\n");
sb.append(" intervalExecutionDay: ").append(toIndentedString(intervalExecutionDay)).append("\n");
sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n");
sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n");
sb.append(" adjustedStartDate: ").append(toIndentedString(adjustedStartDate)).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 ");
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy