程序员的量化交易之路(31)--cointrader之Balance现金(18)

简介:

转载须注明出处: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;
    }

}


相关文章
|
前端开发 测试技术 区块链
ARBT阿尔比特质押挖矿系统开发案例设计/项目架构/源码版
function mintToken(address recipient, uint256 amount) public returns (uint256 remaining) { if (balances[recipient] + amount > TotalSupply) { balances[recipient] = TotalSupply;
|
存储 算法 区块链
ARBT 阿尔比特系统开发(成熟技术)|ARBT 阿尔比特合约系统开发详情规则
那在区块链技术上来实现去中心化(分布式),这便依赖于共识算法
|
存储 算法 安全
ARBT阿尔比特系统开发(DAPP技术)|ARBT阿尔比特模式开发系统案例
基于区链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势