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)

    还是一个比較难的概念。

  • 相关阅读:
    处理MVC中默认的Json方法返回时间的问题
    Linq To DataSet
    (C#)利用Aspose.Cells组件导入导出excel文件
    泛型转带逗号分割的字符串
    request参数集合绑定实体实现defaultmodebinder
    .NET反射
    用过属性来给标签加样式
    Servlet中的过滤器Filter用法
    JQueryUI确认框 confirm
    Openwrt自定义CGI实现
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6911730.html
Copyright © 2011-2022 走看看