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)

    还是一个比較难的概念。

  • 相关阅读:
    android studio 提示翻译
    mysql-You can’t specify target table for update in FROM clause错误
    echarts-案例
    maven-过滤不打入包的文件
    neo4j关闭和开启密码访问权限
    linux-crontab定时任务
    neo4j-备份、恢复
    windows和linux执行class
    mvn-打jar运行包(含环境变量配置)
    mysql-netstat
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6911730.html
Copyright © 2011-2022 走看看