package org.knowm.xchange.poloniex.dto.trade;

import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Generated;

@JsonInclude(JsonInclude.Include.NON_NULL)
@Generated("org.jsonschema2pojo")
@JsonPropertyOrder({"tradeId", "date", "rate", "amount", "total", "fee", "orderNumber", "type"})
public class PoloniexUserTrade {

  @JsonProperty("tradeID")
  private String tradeID;

  @JsonProperty("date")
  private String date;

  @JsonProperty("rate")
  private BigDecimal rate;

  @JsonProperty("amount")
  private BigDecimal amount;

  @JsonProperty("total")
  private BigDecimal total;

  @JsonProperty("fee")
  private BigDecimal fee;

  @JsonProperty("orderNumber")
  private String orderNumber;

  @JsonProperty("type")
  private String type;

  @JsonIgnore private Map<String, Object> additionalProperties = new HashMap<String, Object>();

  @JsonProperty("tradeID")
  public String getTradeID() {

    return tradeID;
  }

  @JsonProperty("tradeID")
  public void setTradeID(String tradeID) {

    this.tradeID = tradeID;
  }

  @JsonProperty("date")
  public String getDate() {

    return date;
  }

  @JsonProperty("date")
  public void setDate(String date) {

    this.date = date;
  }

  @JsonProperty("rate")
  public BigDecimal getRate() {

    return rate;
  }

  @JsonProperty("rate")
  public void setRate(BigDecimal rate) {

    this.rate = rate;
  }

  @JsonProperty("amount")
  public BigDecimal getAmount() {

    return amount;
  }

  @JsonProperty("amount")
  public void setAmount(BigDecimal amount) {

    this.amount = amount;
  }

  @JsonProperty("total")
  public BigDecimal getTotal() {

    return total;
  }

  @JsonProperty("total")
  public void setTotal(BigDecimal total) {

    this.total = total;
  }

  @JsonProperty("fee")
  public BigDecimal getFee() {

    return fee;
  }

  @JsonProperty("fee")
  public void setFee(BigDecimal fee) {

    this.fee = fee;
  }

  @JsonProperty("orderNumber")
  public String getOrderNumber() {

    return orderNumber;
  }

  @JsonProperty("orderNumber")
  public void setOrderNumber(String orderNumber) {

    this.orderNumber = orderNumber;
  }

  @JsonProperty("type")
  public String getType() {

    return type;
  }

  @JsonProperty("type")
  public void setType(String type) {

    this.type = type;
  }

  @JsonAnyGetter
  public Map<String, Object> getAdditionalProperties() {

    return this.additionalProperties;
  }

  @JsonAnySetter
  public void setAdditionalProperty(String name, Object value) {

    this.additionalProperties.put(name, value);
  }

  @Override
  public String toString() {

    return "PoloniexUserTrade [tradeID= "
        + tradeID
        + ", date="
        + date
        + ", rate="
        + rate
        + ", amount="
        + amount
        + ", total="
        + total
        + ", fee="
        + fee
        + ", orderNumber="
        + orderNumber
        + ", type="
        + type
        + ", additionalProperties="
        + additionalProperties
        + "]";
  }
}

@@ -582,16 +582,33 @@
 er(%7B
+%22globalTradeID%22, 
 %22tradeI
-d
+D
 %22, %22
@@ -706,16 +706,82 @@
 rade %7B%0A%0A
+  @JsonProperty(%22globalTradeID%22)%0A  private String globalTradeID;%0A%0A
   @JsonP
@@ -1293,16 +1293,252 @@
 ct%3E();%0A%0A
+  @JsonProperty(%22globalTradeID%22)%0A  public String getGlobalTradeID() %7B%0A%0A    return globalTradeID;%0A  %7D%0A%0A  @JsonProperty(%22globalTradeID%22)%0A  public void setGlobalTradeID(String globalTradeID) %7B%0A%0A    this.globalTradeID = globalTradeID;%0A  %7D%0A%0A
   @JsonP
@@ -3260,25 +3260,24 @@
 oString() %7B%0A
-%0A
     return %22
@@ -3295,16 +3295,69 @@
 rTrade %5B
+globalTradeID=%22%0A        + globalTradeID%0A        + %22, 
 tradeID=

add global trade id