net.commerce.zocalo.orders
Class Order

java.lang.Object
  extended by net.commerce.zocalo.orders.Order
All Implemented Interfaces:
java.lang.Comparable

public class Order
extends java.lang.Object
implements java.lang.Comparable

An Order by a User to buy a quantity of an asset at a particular price.


Constructor Summary
Order(Position position, double price, double quantity, User owner)
           
 
Method Summary
 double affordableQuantity(double price, double quantityDesired)
           
 double availableCoupons(Position position)
           
static int comparePrices(double onePrice, double otherPrice)
           
static int compareQuantities(double oneQuantity, double otherQuantity)
           
 int compareTo(java.lang.Object o)
           
 BestAsk makeBestAsk(double scale)
           
 BestBid makeBestBid(double scale)
           
 OrderRemoval makeRemovalRecord(double scale)
           
 double naturalPrice()
           
 java.lang.String ownerName()
           
 Position position()
           
 double price()
           
 boolean priceGreaterThan(double v)
           
 Coupons provideCoupons(Position position, double quantity)
           
 Funds provideFundsForTrade(double quantity, double scaledPrice)
           
 double quantity()
           
 void receive(Coupons coupons)
           
 void reduceQuantityDueToSale(double reduction)
           
 void reduceQuantityDueToUnaffordability(double reduction)
           
 void releaseReserves(double quantity, Position position)
           
 void removeFromOwner()
           
 double requiredReserves(Market market)
           
 void returnCash(Funds funds)
           
protected  void setQuantity(double quantity)
           
 void settleOffsettingPositions(Market market)
          convert balanced pairs (or sets) of coupons in position into cash.
 java.lang.String toString()
           
 boolean userIsOwner(User user)
           
 void withholdReserves(ReserveVerifier verifier, double quantity, Position position)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Order

public Order(Position position,
             double price,
             double quantity,
             User owner)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable

setQuantity

protected void setQuantity(double quantity)

reduceQuantityDueToSale

public void reduceQuantityDueToSale(double reduction)

reduceQuantityDueToUnaffordability

public void reduceQuantityDueToUnaffordability(double reduction)

quantity

public double quantity()

price

public double price()

position

public Position position()

comparePrices

public static int comparePrices(double onePrice,
                                double otherPrice)

compareQuantities

public static int compareQuantities(double oneQuantity,
                                    double otherQuantity)

provideFundsForTrade

public Funds provideFundsForTrade(double quantity,
                                  double scaledPrice)

withholdReserves

public void withholdReserves(ReserveVerifier verifier,
                             double quantity,
                             Position position)

releaseReserves

public void releaseReserves(double quantity,
                            Position position)

receive

public void receive(Coupons coupons)

requiredReserves

public double requiredReserves(Market market)
                        throws ScoreException
Throws:
ScoreException

priceGreaterThan

public boolean priceGreaterThan(double v)

returnCash

public void returnCash(Funds funds)

userIsOwner

public boolean userIsOwner(User user)

settleOffsettingPositions

public void settleOffsettingPositions(Market market)
convert balanced pairs (or sets) of coupons in position into cash.


naturalPrice

public double naturalPrice()

ownerName

public java.lang.String ownerName()

removeFromOwner

public void removeFromOwner()

availableCoupons

public double availableCoupons(Position position)

provideCoupons

public Coupons provideCoupons(Position position,
                              double quantity)

affordableQuantity

public double affordableQuantity(double price,
                                 double quantityDesired)

makeBestBid

public BestBid makeBestBid(double scale)

makeBestAsk

public BestAsk makeBestAsk(double scale)

makeRemovalRecord

public OrderRemoval makeRemovalRecord(double scale)