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

io.electrum.cardaccount.model.Statement Maven / Gradle / Ivy

The newest version!
/*
 * Electrum Gateway Card-Account API
 * The Electrum Gateway Card-Account API defines an interface for card and account management.
 *
 * OpenAPI spec version: 0.0.600
 * Contact: [email protected]
 *
 * 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.electrum.cardaccount.model;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

import javax.validation.constraints.NotNull;

import org.joda.time.DateTime;

import com.fasterxml.jackson.annotation.JsonProperty;

import io.electrum.vas.Utils;
import io.swagger.annotations.ApiModelProperty;

/**
 * AccountStatement
 */
public class Statement {
   @JsonProperty("beginDate")
   private DateTime beginDate = null;

   @JsonProperty("endDate")
   private DateTime endDate = null;

   @JsonProperty("statementItems")
   private List statementItems = new ArrayList();

   @JsonProperty("issuer")
   private Issuer issuer = null;

   @JsonProperty("account")
   private Account account = null;

   @JsonProperty("customer")
   private Customer customer = null;

   public Statement beginDate(DateTime beginDate) {
      this.beginDate = beginDate;
      return this;
   }

   /**
    * The start date of the statement. The format shall be as defined for date-time in [RFC 3339 section
    * 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).
    * 
    * @return beginDate
    **/
   @JsonProperty("beginDate")
   @ApiModelProperty(required = true, value = "The start date of the statement. The format shall be as defined for date-time in [RFC 3339 section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).")
   @NotNull
   public DateTime getBeginDate() {
      return beginDate;
   }

   public void setBeginDate(DateTime beginDate) {
      this.beginDate = beginDate;
   }

   public Statement endDate(DateTime endDate) {
      this.endDate = endDate;
      return this;
   }

   /**
    * The end date of the statement. The format shall be as defined for date-time in [RFC 3339 section
    * 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).
    * 
    * @return endDate
    **/
   @JsonProperty("endDate")
   @ApiModelProperty(required = true, value = "The end date of the statement. The format shall be as defined for date-time in [RFC 3339 section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).")
   @NotNull
   public DateTime getEndDate() {
      return endDate;
   }

   public void setEndDate(DateTime endDate) {
      this.endDate = endDate;
   }

   public Statement statementItems(List statementItems) {
      this.statementItems = statementItems;
      return this;
   }

   public Statement addStatementItemsItem(StatementItem statementItemsItem) {
      this.statementItems.add(statementItemsItem);
      return this;
   }

   /**
    * Get statementItems
    * 
    * @return statementItems
    **/
   @JsonProperty("statementItems")
   @ApiModelProperty(required = true, value = "")
   @NotNull
   public List getStatementItems() {
      return statementItems;
   }

   public void setStatementItems(List statementItems) {
      this.statementItems = statementItems;
   }

   public Statement issuer(Issuer issuer) {
      this.issuer = issuer;
      return this;
   }

   /**
    * Get issuer
    * 
    * @return issuer
    **/
   @JsonProperty("issuer")
   @ApiModelProperty(value = "")
   public Issuer getIssuer() {
      return issuer;
   }

   public void setIssuer(Issuer issuer) {
      this.issuer = issuer;
   }

   public Statement account(Account account) {
      this.account = account;
      return this;
   }

   /**
    * Get account
    * 
    * @return account
    **/
   @JsonProperty("account")
   @ApiModelProperty(value = "")
   public Account getAccount() {
      return account;
   }

   public void setAccount(Account account) {
      this.account = account;
   }

   public Statement customer(Customer customer) {
      this.customer = customer;
      return this;
   }

   /**
    * Get customer
    * 
    * @return customer
    **/
   @JsonProperty("customer")
   @ApiModelProperty(value = "")
   public Customer getCustomer() {
      return customer;
   }

   public void setCustomer(Customer customer) {
      this.customer = customer;
   }

   @Override
   public boolean equals(java.lang.Object o) {
      if (this == o) {
         return true;
      }
      if (o == null || getClass() != o.getClass()) {
         return false;
      }
      Statement accountStatement = (Statement) o;
      return Objects.equals(this.beginDate, accountStatement.beginDate)
            && Objects.equals(this.endDate, accountStatement.endDate)
            && Objects.equals(this.statementItems, accountStatement.statementItems)
            && Objects.equals(this.issuer, accountStatement.issuer)
            && Objects.equals(this.account, accountStatement.account)
            && Objects.equals(this.customer, accountStatement.customer);
   }

   @Override
   public int hashCode() {
      return Objects.hash(beginDate, endDate, statementItems, issuer, account, customer);
   }

   @Override
   public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class AccountStatement {\n");

      sb.append("    beginDate: ").append(Utils.toIndentedString(beginDate)).append("\n");
      sb.append("    endDate: ").append(Utils.toIndentedString(endDate)).append("\n");
      sb.append("    statementItems: ").append(Utils.toIndentedString(statementItems)).append("\n");
      sb.append("    issuer: ").append(Utils.toIndentedString(issuer)).append("\n");
      sb.append("    account: ").append(Utils.toIndentedString(account)).append("\n");
      sb.append("    customer: ").append(Utils.toIndentedString(customer)).append("\n");
      sb.append("}");
      return sb.toString();
   }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy