转载须注明出处:http://blog.csdn.net/minimicall?viewmode=contents,htt://cloudtrade.top
Balance:现金。
代码:
package org.cryptocoinpartners.schema;
/**
* A Balance represents an amount of money in a given asset.
*现金代表了一个账号内的钱
*
*/
public final class Balance {
private final Asset asset;//Asset是任何可交易的有价值的东西,记得吗
private final String description;
private final Amount amount;//数量
/**
* Constructor
*
* @param asset The underlying asset
* @param amount The amount
*/
public Balance(Asset asset, Amount amount) {
this.asset = asset;
this.amount = amount;
this.description = "";
}
/**
* Additional constructor with optional description
*
* @param description Optional description to distinguish same asset Balances
*/
public Balance(Asset asset, Amount amount, String description) {
this.asset = asset;
this.amount = amount;
this.description = description;
}
public Asset getAsset() {
return asset;
}
public Amount getAmount() {
return amount;
}
public String getDescription() {
return description;
}
@Override
public String toString() {
return "Balance [asset=" + asset + ", amount=" + amount + ", description=" + description + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((amount == null) ? 0 : amount.hashCode());
result = prime * result + ((asset == null) ? 0 : asset.hashCode());
result = prime * result + ((description == null) ? 0 : description.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
Balance other = (Balance) obj;
if (amount == null) {
if (other.amount != null) {
return false;
}
} else if (!amount.equals(other.amount)) {
return false;
}
if (asset == null) {
if (other.asset != null) {
return false;
}
} else if (!asset.equals(other.asset)) {
return false;
}
if (description == null) {
if (other.description != null) {
return false;
}
} else if (!description.equals(other.description)) {
return false;
}
return true;
}
}