zoukankan      html  css  js  c++  java
  • 程序猿的量化交易之路(21)--Cointrader之Currency货币实体(9)

    转载须注明出自:http://blog.csdn.net/minimicall?

    viewmode=contentshttp://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)

    还是一个比較难的概念。

  • 相关阅读:
    构造方法
    $this
    public/private/protected三种访问控制符的区别
    vsftpd的虚拟主机配置,错误记录
    高斯模糊css
    css绘制三角形
    禁止缩放的一行代码
    自适应的Javascript代码resize.js
    判断是pc端还是手机端js
    倒计时
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6911730.html
Copyright © 2011-2022 走看看