转载须注明出自: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 //实体
@Cacheable
public 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)
还是一个比較难的概念。