package org.cryptocoinpartners.schema; import javax.persistence.Entity; import javax.persistence.Transient; import org.cryptocoinpartners.schema.dao.Dao; import org.joda.time.Instant; /** * Offers represent a bid or ask, usually from a Book. Asks are represented by using a negative volumeCount * * @author Tim Olson */ @Entity public class Offer extends PriceData { /** same as new Offer() */ public static Offer bid(Market market, Instant time, Instant timeReceived, Long priceCount, Long volumeCount) { return new Offer(market, time, timeReceived, priceCount, volumeCount); } /** same as new Offer() except the volumeCount is negated */ public static Offer ask(Market market, Instant time, Instant timeReceived, Long priceCount, Long volumeCount) { return new Offer(market, time, timeReceived, priceCount, -volumeCount); } public Offer(Market market, Instant time, Instant timeReceived, Long priceCount, Long volumeCount) { super(time, timeReceived, null, market, priceCount, volumeCount); } @Override public String toString() { return "Offer{" + ", market=" + getMarket() + ", priceCount=" + getPriceCount() + ", volumeCount=" + getVolumeCount() + '}'; } @SuppressWarnings("ConstantConditions") @Transient public Side getSide() { return getVolumeCount() >= 0 ? Side.BUY : Side.SELL; } // JPA protected Offer() { } @Override public void persit() { // TODO Auto-generated method stub } @Override public void detach() { // TODO Auto-generated method stub } @Override public void merge() { // TODO Auto-generated method stub } @Override @Transient public Dao getDao() { // TODO Auto-generated method stub return null; } @Override public void delete() { // TODO Auto-generated method stub } @Override public EntityBase refresh() { // TODO Auto-generated method stub return null; } }