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

org.knowm.xchange.therock.dto.account.TheRockWithdrawal Maven / Gradle / Ivy

There is a newer version: 5.2.0
Show newest version
package org.knowm.xchange.therock.dto.account;

import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import java.math.BigDecimal;

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class TheRockWithdrawal {

  private String currency;

  /** Should be null for the default method (ie. not Ripple) */
  private Method withdrawMethod;

  private String destinationAddress;

  private Long destinationTag = null;

  private BigDecimal amount;

  private TheRockWithdrawal(String currency, BigDecimal amount, String destinationAddress) {
    this(currency, amount, destinationAddress, null, null);
  }

  private TheRockWithdrawal(
      String currency,
      BigDecimal amount,
      String destinationAddress,
      Method withdrawMethod,
      Long destinationTag) {
    this.currency = currency;
    this.amount = amount;
    this.destinationAddress = destinationAddress;
    this.withdrawMethod = withdrawMethod;
    this.destinationTag = destinationTag;
  }

  public static TheRockWithdrawal createRippleWithdrawal(
      String currency, BigDecimal amount, String destinationAddress, Long destinationTag) {
    return new TheRockWithdrawal(
        currency, amount, destinationAddress, Method.RIPPLE, destinationTag);
  }

  public static TheRockWithdrawal createDefaultWithdrawal(
      String currency, BigDecimal amount, String destinationAddress) {
    return new TheRockWithdrawal(currency, amount, destinationAddress);
  }

  public String getCurrency() {
    return currency;
  }

  public Method getWithdrawMethod() {
    return withdrawMethod;
  }

  public String getDestinationAddress() {
    return destinationAddress;
  }

  public Long getDestinationTag() {
    return destinationTag;
  }

  public BigDecimal getAmount() {
    return amount;
  }

  @Override
  public String toString() {
    return String.format(
        "TheRockWithdrawal{currency='%s', withdrawMethod='%s', destinationAddress='%s', amount=%s}",
        currency,
        withdrawMethod == null ? "" : withdrawMethod,
        destinationAddress,
        amount);
  }

  public enum Method {
    RIPPLE
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy