net.commerce.zocalo.experiment.role
Class Borrower

java.lang.Object
  extended by net.commerce.zocalo.experiment.role.AbstractSubject
      extended by net.commerce.zocalo.experiment.role.TradingSubject
          extended by net.commerce.zocalo.experiment.role.Trader
              extended by net.commerce.zocalo.experiment.role.Borrower
All Implemented Interfaces:
ExperimentSubject

public class Borrower
extends Trader


Field Summary
static java.lang.Object AvailableLoanComponent
           
static java.lang.Object CapitalGainsComponent
           
static java.lang.Object DefaultComponent
           
static java.lang.Object HistoricalShareValue
           
static java.lang.Object LastTradePriceComponent
           
static java.lang.Object LoanChangeComponent
           
static java.lang.Object NetEarningsComponent
           
static java.lang.Object OutstandingLoanComponent
           
 
Fields inherited from class net.commerce.zocalo.experiment.role.TradingSubject
AssetsComponent, AverageComponent, BalanceComponent, PrivateDividendComponent, PublicDividendComponent, role, TotalDividendComponent
 
Fields inherited from class net.commerce.zocalo.experiment.role.AbstractSubject
BonusComponent, MultiplierComponent, ScoreComponent, scoreExplanation
 
Constructor Summary
protected Borrower(User user, Role role)
           
 
Method Summary
 boolean acceptedLoanMod(int round)
           
 boolean canBuy(int currentRound)
           
 boolean canSell(int currentRound)
           
 void computeCapitalGains(MockBayeuxChannel tradeHistory, Quantity initialCouponValue, int currentRound, boolean useHistoricCosts)
           
 Funds decreaseLending(Quantity amount)
           
 void decreaseLoanAmount(Quantity amount)
           
 void endDefault(Funds funds)
           
 Quantity getDefaultAmount()
           
 Quantity getHistoricCost()
           
 void increaseLoanAmount(Quantity amount)
           
 boolean inDefault()
           
 java.lang.String lendingExplanation()
           
 Quantity loanAmount()
           
static Trader makeTrader(User user, Role role)
           
 void recordGainsAndLosses(boolean useHistoricCost, java.util.Properties props, boolean makingLoans)
           
 void recordScore(int currentRound, Quantity multiplier, boolean lastRound)
           
 void rememberDividends(Quantity totalDividend)
           
 void rememberLoanState(Quantity available)
           
 void setAccepted(int currentRound, Quantity increase)
           
 
Methods inherited from class net.commerce.zocalo.experiment.role.Trader
propertyWordForRole, recordBonusInfo, recordDormantInfo, recordExplanation, recordScore, traderEarningsLabel, traderInvestmentLabel
 
Methods inherited from class net.commerce.zocalo.experiment.role.TradingSubject
accountValueFromProperties, addBonus, assetValueTable, balance, cashFromProperties, couponValue, currentCouponCount, displayCarryForwardScores, dormant, getHint, getName, getUser, limitedCouponValue, linkText, logConfigValues, pageLink, payDividend, publicValueLabel, receiveDividend, recordActualValueExplanations, reduceReservesTo, rememberAssets, rememberHoldings, resetOutstandingOrders, roleName, setHint, totalDividend
 
Methods inherited from class net.commerce.zocalo.experiment.role.AbstractSubject
actualValueLabel, addScoreComponent, dividendValueLabel, dormantPeriods, getScore, getScoreComponent, getScoreComponent, getScoreExplanation, getScoreLogger, initializeDormancy, isDormant, labelFromPropertyOrDefault, linkHtml, recordMultiplier, resetScoreInfo, saveMultiplierIfGiven, setHintsForRound, setScore, totalAssetsLabel, totalScore
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LastTradePriceComponent

public static final java.lang.Object LastTradePriceComponent

CapitalGainsComponent

public static final java.lang.Object CapitalGainsComponent

NetEarningsComponent

public static final java.lang.Object NetEarningsComponent

LoanChangeComponent

public static final java.lang.Object LoanChangeComponent

AvailableLoanComponent

public static final java.lang.Object AvailableLoanComponent

OutstandingLoanComponent

public static final java.lang.Object OutstandingLoanComponent

HistoricalShareValue

public static final java.lang.Object HistoricalShareValue

DefaultComponent

public static final java.lang.Object DefaultComponent
Constructor Detail

Borrower

protected Borrower(User user,
                   Role role)
Method Detail

makeTrader

public static Trader makeTrader(User user,
                                Role role)

loanAmount

public Quantity loanAmount()

increaseLoanAmount

public void increaseLoanAmount(Quantity amount)

decreaseLending

public Funds decreaseLending(Quantity amount)

decreaseLoanAmount

public void decreaseLoanAmount(Quantity amount)

setAccepted

public void setAccepted(int currentRound,
                        Quantity increase)

acceptedLoanMod

public boolean acceptedLoanMod(int round)

rememberLoanState

public void rememberLoanState(Quantity available)

rememberDividends

public void rememberDividends(Quantity totalDividend)

canBuy

public boolean canBuy(int currentRound)
Specified by:
canBuy in interface ExperimentSubject
Overrides:
canBuy in class TradingSubject

canSell

public boolean canSell(int currentRound)
Specified by:
canSell in interface ExperimentSubject
Overrides:
canSell in class TradingSubject

getDefaultAmount

public Quantity getDefaultAmount()

inDefault

public boolean inDefault()

endDefault

public void endDefault(Funds funds)

recordGainsAndLosses

public void recordGainsAndLosses(boolean useHistoricCost,
                                 java.util.Properties props,
                                 boolean makingLoans)

computeCapitalGains

public void computeCapitalGains(MockBayeuxChannel tradeHistory,
                                Quantity initialCouponValue,
                                int currentRound,
                                boolean useHistoricCosts)

recordScore

public void recordScore(int currentRound,
                        Quantity multiplier,
                        boolean lastRound)

getHistoricCost

public Quantity getHistoricCost()

lendingExplanation

public java.lang.String lendingExplanation()