程序员的量化交易之路(21)--Cointrader之Currency货币实体(9)

来源:互联网 发布:箭塔升级数据 编辑:程序博客网 时间:2024/05/16 18:01

转载须注明出自:http://blog.csdn.net/minimicall?viewmode=contents,http://cloudtrader.top


货币,Cointrader中基本实体。我们通过代码来学习该实体:

package org.cryptocoinpartners.schema;import java.util.List;import javax.persistence.Cacheable;import javax.persistence.Entity;import javax.persistence.NoResultException;import org.cryptocoinpartners.util.PersistUtil;/** * @author Tim Olson */@Entity //实体@Cacheablepublic class Currency extends Asset {//货币是资产的一种,继承关系    public boolean isFiat() {//是否为法定货币        return fiat;    }    public static Currency forSymbol(String symbol) {        return PersistUtil.queryOne(Currency.class, "select c from Currency c where symbol=?1", symbol);    }    public static List<String> allSymbols() {        return PersistUtil.queryList(String.class, "select symbol from Currency");    }    // JPA    protected Currency() {    }    protected void setFiat(boolean fiat) {        this.fiat = fiat;    }    // used by Currencies    static Currency forSymbolOrCreate(String symbol, boolean isFiat, double basis) {        try {            return forSymbol(symbol);        } catch (NoResultException e) {            final Currency currency = new Currency(isFiat, symbol, basis);            PersistUtil.insert(currency);            return currency;        }    }    // used by Currencies    static Currency forSymbolOrCreate(String symbol, boolean isFiat, double basis, double multiplier) {        try {            return forSymbol(symbol);        } catch (NoResultException e) {            final Currency currency = new Currency(isFiat, symbol, basis, multiplier);            PersistUtil.insert(currency);            return currency;        }    }    private Currency(boolean fiat, String symbol, double basis) {        super(symbol, basis);        this.fiat = fiat;    }    private Currency(boolean fiat, String symbol, double basis, double multiplier) {        super(symbol, basis);        this.fiat = fiat;        this.multiplier = multiplier;    }    private boolean fiat;//是否为法定货币    private double multiplier;//乘数}

multiplier乘数是一个比较生疏的一个概念。它的介绍见wikipedia:http://en.wikipedia.org/wiki/Multiplier_(economics)

还是一个比较难的概念。

0 0
原创粉丝点击