jp.co.freee.accounting.models.Deal Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of freee-accounting-sdk Show documentation
Show all versions of freee-accounting-sdk Show documentation
freee accounting client SDK for Java
/*
* freee API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: v1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package jp.co.freee.accounting.models;
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;
import jp.co.freee.accounting.models.DealDetails;
import jp.co.freee.accounting.models.DealPayments;
import jp.co.freee.accounting.models.DealReceipts;
import jp.co.freee.accounting.models.DealRenews;
import org.openapitools.jackson.nullable.JsonNullable;
/**
* Deal
*/
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class Deal {
public static final String SERIALIZED_NAME_AMOUNT = "amount";
@SerializedName(SERIALIZED_NAME_AMOUNT)
private Long amount;
public static final String SERIALIZED_NAME_COMPANY_ID = "company_id";
@SerializedName(SERIALIZED_NAME_COMPANY_ID)
private Integer companyId;
public static final String SERIALIZED_NAME_DETAILS = "details";
@SerializedName(SERIALIZED_NAME_DETAILS)
private List details = null;
public static final String SERIALIZED_NAME_DUE_AMOUNT = "due_amount";
@SerializedName(SERIALIZED_NAME_DUE_AMOUNT)
private Integer dueAmount;
public static final String SERIALIZED_NAME_DUE_DATE = "due_date";
@SerializedName(SERIALIZED_NAME_DUE_DATE)
private String dueDate;
public static final String SERIALIZED_NAME_ID = "id";
@SerializedName(SERIALIZED_NAME_ID)
private Integer id;
public static final String SERIALIZED_NAME_ISSUE_DATE = "issue_date";
@SerializedName(SERIALIZED_NAME_ISSUE_DATE)
private String issueDate;
public static final String SERIALIZED_NAME_PARTNER_CODE = "partner_code";
@SerializedName(SERIALIZED_NAME_PARTNER_CODE)
private String partnerCode;
public static final String SERIALIZED_NAME_PARTNER_ID = "partner_id";
@SerializedName(SERIALIZED_NAME_PARTNER_ID)
private Integer partnerId;
public static final String SERIALIZED_NAME_PAYMENTS = "payments";
@SerializedName(SERIALIZED_NAME_PAYMENTS)
private List payments = null;
public static final String SERIALIZED_NAME_RECEIPTS = "receipts";
@SerializedName(SERIALIZED_NAME_RECEIPTS)
private List receipts = null;
public static final String SERIALIZED_NAME_REF_NUMBER = "ref_number";
@SerializedName(SERIALIZED_NAME_REF_NUMBER)
private String refNumber;
public static final String SERIALIZED_NAME_RENEWS = "renews";
@SerializedName(SERIALIZED_NAME_RENEWS)
private List renews = null;
/**
* 決済状況 (未決済: unsettled, 完了: settled)
*/
@JsonAdapter(StatusEnum.Adapter.class)
public enum StatusEnum {
UNSETTLED("unsettled"),
SETTLED("settled");
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 value) {
for (StatusEnum b : StatusEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
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(value);
}
}
}
public static final String SERIALIZED_NAME_STATUS = "status";
@SerializedName(SERIALIZED_NAME_STATUS)
private StatusEnum status;
/**
* 収支区分 (収入: income, 支出: expense)
*/
@JsonAdapter(TypeEnum.Adapter.class)
public enum TypeEnum {
INCOME("income"),
EXPENSE("expense");
private String value;
TypeEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
public static TypeEnum fromValue(String value) {
for (TypeEnum b : TypeEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
public static class Adapter extends TypeAdapter {
@Override
public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
jsonWriter.value(enumeration.getValue());
}
@Override
public TypeEnum read(final JsonReader jsonReader) throws IOException {
String value = jsonReader.nextString();
return TypeEnum.fromValue(value);
}
}
}
public static final String SERIALIZED_NAME_TYPE = "type";
@SerializedName(SERIALIZED_NAME_TYPE)
private TypeEnum type;
public Deal() {
}
public Deal amount(Long amount) {
this.amount = amount;
return this;
}
/**
* 金額
* minimum: -9223372036854775808
* maximum: 9223372036854775807
* @return amount
**/
@javax.annotation.Nonnull
@ApiModelProperty(example = "5250", required = true, value = "金額")
public Long getAmount() {
return amount;
}
public void setAmount(Long amount) {
this.amount = amount;
}
public Deal companyId(Integer companyId) {
this.companyId = companyId;
return this;
}
/**
* 事業所ID
* minimum: 1
* maximum: 2147483647
* @return companyId
**/
@javax.annotation.Nonnull
@ApiModelProperty(example = "1", required = true, value = "事業所ID")
public Integer getCompanyId() {
return companyId;
}
public void setCompanyId(Integer companyId) {
this.companyId = companyId;
}
public Deal details(List details) {
this.details = details;
return this;
}
public Deal addDetailsItem(DealDetails detailsItem) {
if (this.details == null) {
this.details = new ArrayList<>();
}
this.details.add(detailsItem);
return this;
}
/**
* 取引の明細行
* @return details
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "取引の明細行")
public List getDetails() {
return details;
}
public void setDetails(List details) {
this.details = details;
}
public Deal dueAmount(Integer dueAmount) {
this.dueAmount = dueAmount;
return this;
}
/**
* 支払残額
* @return dueAmount
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "0", value = "支払残額")
public Integer getDueAmount() {
return dueAmount;
}
public void setDueAmount(Integer dueAmount) {
this.dueAmount = dueAmount;
}
public Deal dueDate(String dueDate) {
this.dueDate = dueDate;
return this;
}
/**
* 支払期日 (yyyy-mm-dd)
* @return dueDate
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "2019-12-17", value = "支払期日 (yyyy-mm-dd)")
public String getDueDate() {
return dueDate;
}
public void setDueDate(String dueDate) {
this.dueDate = dueDate;
}
public Deal id(Integer id) {
this.id = id;
return this;
}
/**
* 取引ID
* minimum: 1
* maximum: 2147483647
* @return id
**/
@javax.annotation.Nonnull
@ApiModelProperty(example = "101", required = true, value = "取引ID")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Deal issueDate(String issueDate) {
this.issueDate = issueDate;
return this;
}
/**
* 発生日 (yyyy-mm-dd)
* @return issueDate
**/
@javax.annotation.Nonnull
@ApiModelProperty(example = "2019-12-17", required = true, value = "発生日 (yyyy-mm-dd)")
public String getIssueDate() {
return issueDate;
}
public void setIssueDate(String issueDate) {
this.issueDate = issueDate;
}
public Deal partnerCode(String partnerCode) {
this.partnerCode = partnerCode;
return this;
}
/**
* 取引先コード
* @return partnerCode
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "code001", value = "取引先コード")
public String getPartnerCode() {
return partnerCode;
}
public void setPartnerCode(String partnerCode) {
this.partnerCode = partnerCode;
}
public Deal partnerId(Integer partnerId) {
this.partnerId = partnerId;
return this;
}
/**
* 取引先ID
* minimum: 1
* maximum: 2147483647
* @return partnerId
**/
@javax.annotation.Nonnull
@ApiModelProperty(example = "201", required = true, value = "取引先ID")
public Integer getPartnerId() {
return partnerId;
}
public void setPartnerId(Integer partnerId) {
this.partnerId = partnerId;
}
public Deal payments(List payments) {
this.payments = payments;
return this;
}
public Deal addPaymentsItem(DealPayments paymentsItem) {
if (this.payments == null) {
this.payments = new ArrayList<>();
}
this.payments.add(paymentsItem);
return this;
}
/**
* 取引の支払行
* @return payments
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "取引の支払行")
public List getPayments() {
return payments;
}
public void setPayments(List payments) {
this.payments = payments;
}
public Deal receipts(List receipts) {
this.receipts = receipts;
return this;
}
public Deal addReceiptsItem(DealReceipts receiptsItem) {
if (this.receipts == null) {
this.receipts = new ArrayList<>();
}
this.receipts.add(receiptsItem);
return this;
}
/**
* 証憑ファイル(ファイルボックスのファイル)
* @return receipts
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "証憑ファイル(ファイルボックスのファイル)")
public List getReceipts() {
return receipts;
}
public void setReceipts(List receipts) {
this.receipts = receipts;
}
public Deal refNumber(String refNumber) {
this.refNumber = refNumber;
return this;
}
/**
* 管理番号
* @return refNumber
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "123-456", value = "管理番号")
public String getRefNumber() {
return refNumber;
}
public void setRefNumber(String refNumber) {
this.refNumber = refNumber;
}
public Deal renews(List renews) {
this.renews = renews;
return this;
}
public Deal addRenewsItem(DealRenews renewsItem) {
if (this.renews == null) {
this.renews = new ArrayList<>();
}
this.renews.add(renewsItem);
return this;
}
/**
* 取引の+更新行
* @return renews
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "取引の+更新行")
public List getRenews() {
return renews;
}
public void setRenews(List renews) {
this.renews = renews;
}
public Deal status(StatusEnum status) {
this.status = status;
return this;
}
/**
* 決済状況 (未決済: unsettled, 完了: settled)
* @return status
**/
@javax.annotation.Nonnull
@ApiModelProperty(example = "settled", required = true, value = "決済状況 (未決済: unsettled, 完了: settled)")
public StatusEnum getStatus() {
return status;
}
public void setStatus(StatusEnum status) {
this.status = status;
}
public Deal type(TypeEnum type) {
this.type = type;
return this;
}
/**
* 収支区分 (収入: income, 支出: expense)
* @return type
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "expense", value = "収支区分 (収入: income, 支出: expense)")
public TypeEnum getType() {
return type;
}
public void setType(TypeEnum type) {
this.type = type;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Deal deal = (Deal) o;
return Objects.equals(this.amount, deal.amount) &&
Objects.equals(this.companyId, deal.companyId) &&
Objects.equals(this.details, deal.details) &&
Objects.equals(this.dueAmount, deal.dueAmount) &&
Objects.equals(this.dueDate, deal.dueDate) &&
Objects.equals(this.id, deal.id) &&
Objects.equals(this.issueDate, deal.issueDate) &&
Objects.equals(this.partnerCode, deal.partnerCode) &&
Objects.equals(this.partnerId, deal.partnerId) &&
Objects.equals(this.payments, deal.payments) &&
Objects.equals(this.receipts, deal.receipts) &&
Objects.equals(this.refNumber, deal.refNumber) &&
Objects.equals(this.renews, deal.renews) &&
Objects.equals(this.status, deal.status) &&
Objects.equals(this.type, deal.type);
}
private static boolean equalsNullable(JsonNullable a, JsonNullable b) {
return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get()));
}
@Override
public int hashCode() {
return Objects.hash(amount, companyId, details, dueAmount, dueDate, id, issueDate, partnerCode, partnerId, payments, receipts, refNumber, renews, status, type);
}
private static int hashCodeNullable(JsonNullable a) {
if (a == null) {
return 1;
}
return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Deal {\n");
sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
sb.append(" companyId: ").append(toIndentedString(companyId)).append("\n");
sb.append(" details: ").append(toIndentedString(details)).append("\n");
sb.append(" dueAmount: ").append(toIndentedString(dueAmount)).append("\n");
sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" issueDate: ").append(toIndentedString(issueDate)).append("\n");
sb.append(" partnerCode: ").append(toIndentedString(partnerCode)).append("\n");
sb.append(" partnerId: ").append(toIndentedString(partnerId)).append("\n");
sb.append(" payments: ").append(toIndentedString(payments)).append("\n");
sb.append(" receipts: ").append(toIndentedString(receipts)).append("\n");
sb.append(" refNumber: ").append(toIndentedString(refNumber)).append("\n");
sb.append(" renews: ").append(toIndentedString(renews)).append("\n");
sb.append(" status: ").append(toIndentedString(status)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).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 ");
}
}