com::ftlabs::fisa::DiscreteCallSchedule Class Reference

An implementation of CallSchedule for discrete calls. More...

#include <DiscreteCallSchedule.h>

Inheritance diagram for com::ftlabs::fisa::DiscreteCallSchedule:

com::ftlabs::fisa::CallSchedule com::ftlabs::fisa::ContinuousCallSchedule List of all members.

Public Member Functions

 DiscreteCallSchedule (void)
 DiscreteCallSchedule (int daysNotice)
 DiscreteCallSchedule (const FISADate &tradeDate, int daysNotice)
 DiscreteCallSchedule (const DiscreteCallSchedule &callSchedule)
virtual ~DiscreteCallSchedule (void)
DiscreteCallScheduleoperator= (const DiscreteCallSchedule &callSchedule)
virtual void add (const Redemption &redemption)
 Add a redemption to this DiscreteCallSchedule.
virtual void remove (const Redemption &redemption)
 Remove a redemption from this DiscreteCallSchedule.
void add (const FISADate &date, double value)
 Add a redemption to this DiscreteCallSchedule.
virtual int getCount (void) const
 Get the number of calls in this schedule.
virtual const RedemptiongetCall (int index) const
virtual const RedemptiongetNextCall (void) const
 A convenience method to get the "next" call.
virtual const RedemptiongetNextPremiumCall (void) const
 A convenience method to get the "next" premium call.
virtual const RedemptiongetNextParCall (void) const
 A convenience method to get the "next" par call.
int getDaysNotice (void) const
 Get daysNotice.
virtual void setDaysNotice (int daysNotice)
 Set daysNotice.
const FISADategetTradeDate (void) const
 Get tradeDate.
virtual void setTradeDate (const FISADate &tradeDate)
 Set tradeDate.
virtual int getStartingIndex (void) const
 Returns the index of the first call that falls on or after the number of daysNotice from tradeDate.

Protected Member Functions

void const_add (const Redemption &redemption) const

Protected Attributes

FISADate tradeDate
int daysNotice

Private Attributes

std::vector< Redemption > * calls
bool * needsSort
RedemptionnextPremium
RedemptionnextPar

Detailed Description

An implementation of CallSchedule for discrete calls.

Regardless of the order that calls are added, the index will be in call date order, from earliest to latest.


Constructor & Destructor Documentation

com::ftlabs::fisa::DiscreteCallSchedule::DiscreteCallSchedule ( void   ) 

com::ftlabs::fisa::DiscreteCallSchedule::DiscreteCallSchedule ( int  daysNotice  ) 

com::ftlabs::fisa::DiscreteCallSchedule::DiscreteCallSchedule ( const FISADate tradeDate,
int  daysNotice 
)

com::ftlabs::fisa::DiscreteCallSchedule::DiscreteCallSchedule ( const DiscreteCallSchedule callSchedule  ) 

virtual com::ftlabs::fisa::DiscreteCallSchedule::~DiscreteCallSchedule ( void   )  [virtual]


Member Function Documentation

DiscreteCallSchedule& com::ftlabs::fisa::DiscreteCallSchedule::operator= ( const DiscreteCallSchedule callSchedule  ) 

virtual void com::ftlabs::fisa::DiscreteCallSchedule::add ( const Redemption redemption  )  [virtual]

Add a redemption to this DiscreteCallSchedule.

Parameters:
redemption A call redemption.

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

virtual void com::ftlabs::fisa::DiscreteCallSchedule::remove ( const Redemption redemption  )  [virtual]

Remove a redemption from this DiscreteCallSchedule.

Parameters:
redemption The call redemption to be removed.

void com::ftlabs::fisa::DiscreteCallSchedule::add ( const FISADate date,
double  value 
)

Add a redemption to this DiscreteCallSchedule.

Parameters:
date A call date.
value A call rate.

virtual int com::ftlabs::fisa::DiscreteCallSchedule::getCount ( void   )  const [virtual]

Get the number of calls in this schedule.

Returns:
The number of calls in this schedule.

Implements com::ftlabs::fisa::CallSchedule.

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

virtual const Redemption* com::ftlabs::fisa::DiscreteCallSchedule::getCall ( int  index  )  const [virtual]

Implements com::ftlabs::fisa::CallSchedule.

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

virtual const Redemption* com::ftlabs::fisa::DiscreteCallSchedule::getNextCall ( void   )  const [virtual]

A convenience method to get the "next" call.

Returns:
A pointer to the earliest call in this schedule, or 0 if a call doesn't exist in this schedule.

Implements com::ftlabs::fisa::CallSchedule.

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

virtual const Redemption* com::ftlabs::fisa::DiscreteCallSchedule::getNextPremiumCall ( void   )  const [virtual]

A convenience method to get the "next" premium call.

Returns:
A pointer to the earliest premium call in this schedule, or 0 if a premium call doesn't exist in this schedule.

Implements com::ftlabs::fisa::CallSchedule.

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

virtual const Redemption* com::ftlabs::fisa::DiscreteCallSchedule::getNextParCall ( void   )  const [virtual]

A convenience method to get the "next" par call.

Returns:
A pointer to the earliest par call in this schedule, or 0 if a par call doesn't exist in this schedule.

Implements com::ftlabs::fisa::CallSchedule.

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

int com::ftlabs::fisa::DiscreteCallSchedule::getDaysNotice ( void   )  const

Get daysNotice.

Returns:
daysNotice

virtual void com::ftlabs::fisa::DiscreteCallSchedule::setDaysNotice ( int  daysNotice  )  [virtual]

Set daysNotice.

Parameters:
daysNotice daysNotice

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

const FISADate& com::ftlabs::fisa::DiscreteCallSchedule::getTradeDate ( void   )  const

Get tradeDate.

Returns:
tradeDate

virtual void com::ftlabs::fisa::DiscreteCallSchedule::setTradeDate ( const FISADate tradeDate  )  [virtual]

Set tradeDate.

Parameters:
tradeDate tradeDate

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

virtual int com::ftlabs::fisa::DiscreteCallSchedule::getStartingIndex ( void   )  const [virtual]

Returns the index of the first call that falls on or after the number of daysNotice from tradeDate.

If there are no calls that are on or after daysNotice from the tradeDate, then getCount() is returned, which could be 0.

Returns:
Returns the index of the first call that falls on or after the number of daysNotice from tradeDate.

Implements com::ftlabs::fisa::CallSchedule.

Reimplemented in com::ftlabs::fisa::ContinuousCallSchedule.

void com::ftlabs::fisa::DiscreteCallSchedule::const_add ( const Redemption redemption  )  const [protected]


Member Data Documentation

std::vector<Redemption>* com::ftlabs::fisa::DiscreteCallSchedule::calls [private]

bool* com::ftlabs::fisa::DiscreteCallSchedule::needsSort [private]

Redemption* com::ftlabs::fisa::DiscreteCallSchedule::nextPremium [private]

Redemption* com::ftlabs::fisa::DiscreteCallSchedule::nextPar [private]

FISADate com::ftlabs::fisa::DiscreteCallSchedule::tradeDate [protected]

int com::ftlabs::fisa::DiscreteCallSchedule::daysNotice [protected]


The documentation for this class was generated from the following file:
Generated on Tue Feb 5 03:50:26 2008 for FTLabs FISA (c++) by  doxygen 1.5.2