package io.bitsquare.gui.main.offer.createoffer.monetary; import org.bitcoinj.core.Monetary; import org.bitcoinj.utils.MonetaryFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public abstract class MonetaryWrapper { private static final Logger log = LoggerFactory.getLogger(MonetaryWrapper.class); /// Instance of Fiat or Altcoin protected final Monetary monetary; protected final MonetaryFormat fiatFormat = MonetaryFormat.FIAT.repeatOptionalDecimals(0, 0); protected final MonetaryFormat altCoinFormat = MonetaryFormat.FIAT.repeatOptionalDecimals(0, 0); public MonetaryWrapper(Monetary monetary) { this.monetary = monetary; } public Monetary getMonetary() { return monetary; } public boolean isZero() { return monetary.getValue() == 0; } public int smallestUnitExponent() { return monetary.smallestUnitExponent(); } public long getValue() { return monetary.getValue(); } @Override public boolean equals(final Object o) { if (o == this) return true; if (o == null || o.getClass() != getClass()) return false; final Monetary otherMonetary = ((MonetaryWrapper) o).getMonetary(); if (monetary.getValue() != otherMonetary.getValue()) return false; return true; } @Override public int hashCode() { return (int) monetary.getValue(); } }