All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xero.models.finance.StatementResponse Maven / Gradle / Ivy

/*
 * Xero Finance API
 * The Finance API is a collection of endpoints which customers can use in the course of a loan application, which may assist lenders to gain the confidence they need to provide capital.
 *
 * Contact: [email protected]
 *
 * 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.xero.models.finance;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.xero.api.StringUtil;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import org.threeten.bp.LocalDate;
import org.threeten.bp.OffsetDateTime;

/** StatementResponse */
public class StatementResponse {
  StringUtil util = new StringUtil();

  @JsonProperty("statementId")
  private UUID statementId;

  @JsonProperty("startDate")
  private LocalDate startDate;

  @JsonProperty("endDate")
  private LocalDate endDate;

  @JsonProperty("importedDateTimeUtc")
  private OffsetDateTime importedDateTimeUtc;

  @JsonProperty("importSource")
  private String importSource;

  @JsonProperty("startBalance")
  private Double startBalance;

  @JsonProperty("endBalance")
  private Double endBalance;

  @JsonProperty("indicativeStartBalance")
  private Double indicativeStartBalance;

  @JsonProperty("indicativeEndBalance")
  private Double indicativeEndBalance;

  @JsonProperty("statementLines")
  private List statementLines = new ArrayList();
  /**
   * Xero Identifier of statement
   *
   * @param statementId UUID
   * @return StatementResponse
   */
  public StatementResponse statementId(UUID statementId) {
    this.statementId = statementId;
    return this;
  }

  /**
   * Xero Identifier of statement
   *
   * @return statementId
   */
  @ApiModelProperty(value = "Xero Identifier of statement")
  /**
   * Xero Identifier of statement
   *
   * @return statementId UUID
   */
  public UUID getStatementId() {
    return statementId;
  }

  /**
   * Xero Identifier of statement
   *
   * @param statementId UUID
   */
  public void setStatementId(UUID statementId) {
    this.statementId = statementId;
  }

  /**
   * Start date of statement
   *
   * @param startDate LocalDate
   * @return StatementResponse
   */
  public StatementResponse startDate(LocalDate startDate) {
    this.startDate = startDate;
    return this;
  }

  /**
   * Start date of statement
   *
   * @return startDate
   */
  @ApiModelProperty(value = "Start date of statement")
  /**
   * Start date of statement
   *
   * @return startDate LocalDate
   */
  public LocalDate getStartDate() {
    return startDate;
  }

  /**
   * Start date of statement
   *
   * @param startDate LocalDate
   */
  public void setStartDate(LocalDate startDate) {
    this.startDate = startDate;
  }

  /**
   * End date of statement
   *
   * @param endDate LocalDate
   * @return StatementResponse
   */
  public StatementResponse endDate(LocalDate endDate) {
    this.endDate = endDate;
    return this;
  }

  /**
   * End date of statement
   *
   * @return endDate
   */
  @ApiModelProperty(value = "End date of statement")
  /**
   * End date of statement
   *
   * @return endDate LocalDate
   */
  public LocalDate getEndDate() {
    return endDate;
  }

  /**
   * End date of statement
   *
   * @param endDate LocalDate
   */
  public void setEndDate(LocalDate endDate) {
    this.endDate = endDate;
  }

  /**
   * Utc date time of when the statement was imported in Xero
   *
   * @param importedDateTimeUtc OffsetDateTime
   * @return StatementResponse
   */
  public StatementResponse importedDateTimeUtc(OffsetDateTime importedDateTimeUtc) {
    this.importedDateTimeUtc = importedDateTimeUtc;
    return this;
  }

  /**
   * Utc date time of when the statement was imported in Xero
   *
   * @return importedDateTimeUtc
   */
  @ApiModelProperty(value = "Utc date time of when the statement was imported in Xero")
  /**
   * Utc date time of when the statement was imported in Xero
   *
   * @return importedDateTimeUtc OffsetDateTime
   */
  public OffsetDateTime getImportedDateTimeUtc() {
    return importedDateTimeUtc;
  }

  /**
   * Utc date time of when the statement was imported in Xero
   *
   * @param importedDateTimeUtc OffsetDateTime
   */
  public void setImportedDateTimeUtc(OffsetDateTime importedDateTimeUtc) {
    this.importedDateTimeUtc = importedDateTimeUtc;
  }

  /**
   * Identifies where the statement data in Xero was sourced, 1) direct bank feed, automatically
   * loaded from the bank (eg STMTIMPORTSRC/CBAFEED); 2) indirect bank feed, automatically loaded
   * from a 3rd party provider (eg STMTIMPORTSRC/YODLEE); 3) manually uploaded bank feed (eg
   * STMTIMPORTSRC/CSV) or 4) manually entered statement data (STMTIMPORTSRC/MANUAL).
   *
   * @param importSource String
   * @return StatementResponse
   */
  public StatementResponse importSource(String importSource) {
    this.importSource = importSource;
    return this;
  }

  /**
   * Identifies where the statement data in Xero was sourced, 1) direct bank feed, automatically
   * loaded from the bank (eg STMTIMPORTSRC/CBAFEED); 2) indirect bank feed, automatically loaded
   * from a 3rd party provider (eg STMTIMPORTSRC/YODLEE); 3) manually uploaded bank feed (eg
   * STMTIMPORTSRC/CSV) or 4) manually entered statement data (STMTIMPORTSRC/MANUAL).
   *
   * @return importSource
   */
  @ApiModelProperty(
      value =
          "Identifies where the statement data in Xero was sourced, 1) direct bank feed,"
              + " automatically loaded from the bank (eg STMTIMPORTSRC/CBAFEED); 2) indirect bank"
              + " feed, automatically loaded from a 3rd party provider (eg STMTIMPORTSRC/YODLEE);"
              + " 3) manually uploaded bank feed (eg STMTIMPORTSRC/CSV) or 4) manually entered"
              + " statement data (STMTIMPORTSRC/MANUAL).")
  /**
   * Identifies where the statement data in Xero was sourced, 1) direct bank feed, automatically
   * loaded from the bank (eg STMTIMPORTSRC/CBAFEED); 2) indirect bank feed, automatically loaded
   * from a 3rd party provider (eg STMTIMPORTSRC/YODLEE); 3) manually uploaded bank feed (eg
   * STMTIMPORTSRC/CSV) or 4) manually entered statement data (STMTIMPORTSRC/MANUAL).
   *
   * @return importSource String
   */
  public String getImportSource() {
    return importSource;
  }

  /**
   * Identifies where the statement data in Xero was sourced, 1) direct bank feed, automatically
   * loaded from the bank (eg STMTIMPORTSRC/CBAFEED); 2) indirect bank feed, automatically loaded
   * from a 3rd party provider (eg STMTIMPORTSRC/YODLEE); 3) manually uploaded bank feed (eg
   * STMTIMPORTSRC/CSV) or 4) manually entered statement data (STMTIMPORTSRC/MANUAL).
   *
   * @param importSource String
   */
  public void setImportSource(String importSource) {
    this.importSource = importSource;
  }

  /**
   * Opening balance sourced from imported bank statements (if supplied). Note, for manually
   * uploaded statements, this balance is also manual and usually not supplied. Where not supplied,
   * the value will be 0.
   *
   * @param startBalance Double
   * @return StatementResponse
   */
  public StatementResponse startBalance(Double startBalance) {
    this.startBalance = startBalance;
    return this;
  }

  /**
   * Opening balance sourced from imported bank statements (if supplied). Note, for manually
   * uploaded statements, this balance is also manual and usually not supplied. Where not supplied,
   * the value will be 0.
   *
   * @return startBalance
   */
  @ApiModelProperty(
      value =
          "Opening balance sourced from imported bank statements (if supplied). Note, for manually"
              + " uploaded statements, this balance is also manual and usually not supplied. Where"
              + " not supplied, the value will be 0.")
  /**
   * Opening balance sourced from imported bank statements (if supplied). Note, for manually
   * uploaded statements, this balance is also manual and usually not supplied. Where not supplied,
   * the value will be 0.
   *
   * @return startBalance Double
   */
  public Double getStartBalance() {
    return startBalance;
  }

  /**
   * Opening balance sourced from imported bank statements (if supplied). Note, for manually
   * uploaded statements, this balance is also manual and usually not supplied. Where not supplied,
   * the value will be 0.
   *
   * @param startBalance Double
   */
  public void setStartBalance(Double startBalance) {
    this.startBalance = startBalance;
  }

  /**
   * Closing balance sourced from imported bank statements (if supplied). Note, for manually
   * uploaded statements, this balance is also manual and usually not supplied. Where not supplied,
   * the value will be 0.
   *
   * @param endBalance Double
   * @return StatementResponse
   */
  public StatementResponse endBalance(Double endBalance) {
    this.endBalance = endBalance;
    return this;
  }

  /**
   * Closing balance sourced from imported bank statements (if supplied). Note, for manually
   * uploaded statements, this balance is also manual and usually not supplied. Where not supplied,
   * the value will be 0.
   *
   * @return endBalance
   */
  @ApiModelProperty(
      value =
          "Closing balance sourced from imported bank statements (if supplied). Note, for manually"
              + " uploaded statements, this balance is also manual and usually not supplied. Where"
              + " not supplied, the value will be 0.")
  /**
   * Closing balance sourced from imported bank statements (if supplied). Note, for manually
   * uploaded statements, this balance is also manual and usually not supplied. Where not supplied,
   * the value will be 0.
   *
   * @return endBalance Double
   */
  public Double getEndBalance() {
    return endBalance;
  }

  /**
   * Closing balance sourced from imported bank statements (if supplied). Note, for manually
   * uploaded statements, this balance is also manual and usually not supplied. Where not supplied,
   * the value will be 0.
   *
   * @param endBalance Double
   */
  public void setEndBalance(Double endBalance) {
    this.endBalance = endBalance;
  }

  /**
   * Opening statement balance calculated in Xero (= bank account conversion balance plus sum
   * of imported bank statement lines). Note: If indicative statement balance doesn't match
   * imported statement balance for the same date, either the conversion (opening at inception)
   * balance in Xero is wrong or there's an error in the bank statement lines in Xero. Ref:
   * https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true
   *
   * @param indicativeStartBalance Double
   * @return StatementResponse
   */
  public StatementResponse indicativeStartBalance(Double indicativeStartBalance) {
    this.indicativeStartBalance = indicativeStartBalance;
    return this;
  }

  /**
   * Opening statement balance calculated in Xero (= bank account conversion balance plus sum
   * of imported bank statement lines). Note: If indicative statement balance doesn't match
   * imported statement balance for the same date, either the conversion (opening at inception)
   * balance in Xero is wrong or there's an error in the bank statement lines in Xero. Ref:
   * https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true
   *
   * @return indicativeStartBalance
   */
  @ApiModelProperty(
      value =
          "Opening statement balance calculated in Xero (= bank account conversion balance plus"
              + " sum of imported bank statement lines). Note: If indicative statement balance"
              + " doesn't match imported statement balance for the same date, either the"
              + " conversion (opening at inception) balance in Xero is wrong or there's an error"
              + " in the bank statement lines in Xero. Ref:"
              + " https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true"
              + " ")
  /**
   * Opening statement balance calculated in Xero (= bank account conversion balance plus sum
   * of imported bank statement lines). Note: If indicative statement balance doesn't match
   * imported statement balance for the same date, either the conversion (opening at inception)
   * balance in Xero is wrong or there's an error in the bank statement lines in Xero. Ref:
   * https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true
   *
   * @return indicativeStartBalance Double
   */
  public Double getIndicativeStartBalance() {
    return indicativeStartBalance;
  }

  /**
   * Opening statement balance calculated in Xero (= bank account conversion balance plus sum
   * of imported bank statement lines). Note: If indicative statement balance doesn't match
   * imported statement balance for the same date, either the conversion (opening at inception)
   * balance in Xero is wrong or there's an error in the bank statement lines in Xero. Ref:
   * https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true
   *
   * @param indicativeStartBalance Double
   */
  public void setIndicativeStartBalance(Double indicativeStartBalance) {
    this.indicativeStartBalance = indicativeStartBalance;
  }

  /**
   * Closing statement balance calculated in Xero (= bank account conversion balance plus sum
   * of imported bank statement lines). Note: If indicative statement balance doesn't match
   * imported statement balance for the same date, either the conversion (opening at inception)
   * balance in Xero is wrong or there's an error in the bank statement lines in Xero. Ref:
   * https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true
   *
   * @param indicativeEndBalance Double
   * @return StatementResponse
   */
  public StatementResponse indicativeEndBalance(Double indicativeEndBalance) {
    this.indicativeEndBalance = indicativeEndBalance;
    return this;
  }

  /**
   * Closing statement balance calculated in Xero (= bank account conversion balance plus sum
   * of imported bank statement lines). Note: If indicative statement balance doesn't match
   * imported statement balance for the same date, either the conversion (opening at inception)
   * balance in Xero is wrong or there's an error in the bank statement lines in Xero. Ref:
   * https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true
   *
   * @return indicativeEndBalance
   */
  @ApiModelProperty(
      value =
          "Closing statement balance calculated in Xero (= bank account conversion balance plus"
              + " sum of imported bank statement lines). Note: If indicative statement balance"
              + " doesn't match imported statement balance for the same date, either the"
              + " conversion (opening at inception) balance in Xero is wrong or there's an error"
              + " in the bank statement lines in Xero. Ref:"
              + " https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true"
              + "  ")
  /**
   * Closing statement balance calculated in Xero (= bank account conversion balance plus sum
   * of imported bank statement lines). Note: If indicative statement balance doesn't match
   * imported statement balance for the same date, either the conversion (opening at inception)
   * balance in Xero is wrong or there's an error in the bank statement lines in Xero. Ref:
   * https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true
   *
   * @return indicativeEndBalance Double
   */
  public Double getIndicativeEndBalance() {
    return indicativeEndBalance;
  }

  /**
   * Closing statement balance calculated in Xero (= bank account conversion balance plus sum
   * of imported bank statement lines). Note: If indicative statement balance doesn't match
   * imported statement balance for the same date, either the conversion (opening at inception)
   * balance in Xero is wrong or there's an error in the bank statement lines in Xero. Ref:
   * https://central.xero.com/s/article/Compare-the-statement-balance-in-Xero-to-your-actual-bank-balance?userregion=true
   *
   * @param indicativeEndBalance Double
   */
  public void setIndicativeEndBalance(Double indicativeEndBalance) {
    this.indicativeEndBalance = indicativeEndBalance;
  }

  /**
   * List of statement lines
   *
   * @param statementLines List<StatementLineResponse>
   * @return StatementResponse
   */
  public StatementResponse statementLines(List statementLines) {
    this.statementLines = statementLines;
    return this;
  }

  /**
   * List of statement lines
   *
   * @param statementLinesItem StatementLineResponse
   * @return StatementResponse
   */
  public StatementResponse addStatementLinesItem(StatementLineResponse statementLinesItem) {
    if (this.statementLines == null) {
      this.statementLines = new ArrayList();
    }
    this.statementLines.add(statementLinesItem);
    return this;
  }

  /**
   * List of statement lines
   *
   * @return statementLines
   */
  @ApiModelProperty(value = "List of statement lines")
  /**
   * List of statement lines
   *
   * @return statementLines List
   */
  public List getStatementLines() {
    return statementLines;
  }

  /**
   * List of statement lines
   *
   * @param statementLines List<StatementLineResponse>
   */
  public void setStatementLines(List statementLines) {
    this.statementLines = statementLines;
  }

  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    StatementResponse statementResponse = (StatementResponse) o;
    return Objects.equals(this.statementId, statementResponse.statementId)
        && Objects.equals(this.startDate, statementResponse.startDate)
        && Objects.equals(this.endDate, statementResponse.endDate)
        && Objects.equals(this.importedDateTimeUtc, statementResponse.importedDateTimeUtc)
        && Objects.equals(this.importSource, statementResponse.importSource)
        && Objects.equals(this.startBalance, statementResponse.startBalance)
        && Objects.equals(this.endBalance, statementResponse.endBalance)
        && Objects.equals(this.indicativeStartBalance, statementResponse.indicativeStartBalance)
        && Objects.equals(this.indicativeEndBalance, statementResponse.indicativeEndBalance)
        && Objects.equals(this.statementLines, statementResponse.statementLines);
  }

  @Override
  public int hashCode() {
    return Objects.hash(
        statementId,
        startDate,
        endDate,
        importedDateTimeUtc,
        importSource,
        startBalance,
        endBalance,
        indicativeStartBalance,
        indicativeEndBalance,
        statementLines);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class StatementResponse {\n");
    sb.append("    statementId: ").append(toIndentedString(statementId)).append("\n");
    sb.append("    startDate: ").append(toIndentedString(startDate)).append("\n");
    sb.append("    endDate: ").append(toIndentedString(endDate)).append("\n");
    sb.append("    importedDateTimeUtc: ")
        .append(toIndentedString(importedDateTimeUtc))
        .append("\n");
    sb.append("    importSource: ").append(toIndentedString(importSource)).append("\n");
    sb.append("    startBalance: ").append(toIndentedString(startBalance)).append("\n");
    sb.append("    endBalance: ").append(toIndentedString(endBalance)).append("\n");
    sb.append("    indicativeStartBalance: ")
        .append(toIndentedString(indicativeStartBalance))
        .append("\n");
    sb.append("    indicativeEndBalance: ")
        .append(toIndentedString(indicativeEndBalance))
        .append("\n");
    sb.append("    statementLines: ").append(toIndentedString(statementLines)).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    ");
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy