程序员的量化交易之路(20)--Cointrader之Assert实体(8)

转载需说明出处:http://blog.csdn.net/minimicall, http://cloudtrade.top

任何可交易的都可以称之为Assert,资产。其类代码如下:

package org.cryptocoinpartners.schema;

import javax.persistence.Basic;
import javax.persistence.Cacheable;
import javax.persistence.Entity;
import javax.persistence.Transient;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Represents anything valuable and tradable, like currency or stock
 *任何有价值的并且可交易的物体,比如现金、股票
 * @author Tim Olson
 */
@Entity //实体,说明在数据库中会建立相应的表格。由于没有使用name参数,说明类名就是表明。
@Cacheable //可缓存
public abstract class Asset extends EntityBase {

    public static Asset forSymbol(String symbol) {
        // only Currency is supported
        return Currency.forSymbol(symbol);
    }

    @Basic(optional = false)
    public String getSymbol() {
        return symbol;
    }

    @Basic(optional = false)
    public double getBasis() {
        return basis;
    }

    @Transient
    public int getScale() {

        int length = (int) (Math.log10(Math.round(1 / basis)));
        return length;
    }

    @Override
    public String toString() {
        return symbol;
    }

    protected Asset(String symbol, double basis) {
        this.symbol = symbol;
        this.basis = basis;
    }

    // JPA
    protected Asset() {
    }

    protected void setSymbol(String symbol) {
        this.symbol = symbol;
    }

    protected void setBasis(double basis) {
        this.basis = basis;
    }

    private String symbol;//符号
    private double basis;//值

    private static Logger log = LoggerFactory.getLogger(Asset.class);
}

推荐文章

无法隐式转换类型“int?”到“int”

无法隐式转换类型“int?”到“int”

推荐文章

C++绑定键盘键:遍历所有虚拟键?

C++绑定键盘键:遍历所有虚拟键?

推荐文章

ASP.NETMVC 3模型验证

ASP.NETMVC 3模型验证

推荐文章

什么是一个好的csv数据分析工具/框架

什么是一个好的csv数据分析工具/框架

推荐文章

jQuery.post()在本地失败,但在服务器1上失败,在服务器2上失败?

jQuery.post()在本地失败,但在服务器1上失败,在服务器2上失败?

推荐文章

模型关联和数据建模

模型关联和数据建模

推荐文章

Facebook检查用户是否喜欢该页面

Facebook检查用户是否喜欢该页面

推荐文章

JasperReport组件

JasperReport组件

推荐文章

WCF与tcp.net协议使用JMeter进行绑定测试

WCF与tcp.net协议使用JMeter进行绑定测试

推荐文章

同时支持平板电脑和手机的问题-本地化

同时支持平板电脑和手机的问题-本地化

推荐文章

在Bash脚本中如何在上周二之前收到星期二?

在Bash脚本中如何在上周二之前收到星期二?

推荐文章

Spring MVC找不到控制器

Spring MVC找不到控制器

推荐文章

$.post添加双反斜杠

$.post添加双反斜杠

推荐文章

UIViewController自动旋转不工作

UIViewController自动旋转不工作

推荐文章

在wicket 1.5中呈现文件(pdf/tiff/png)内容

在wicket 1.5中呈现文件(pdf/tiff/png)内容

推荐文章

多次打开/关闭共享库后,静态销毁顺序错误

多次打开/关闭共享库后,静态销毁顺序错误