phonebill.phonelog
Class PhonePrice

java.lang.Object
  |
  +--phonebill.phonelog.PhonePrice

class PhonePrice
extends java.lang.Object

This class defines a price list for a specific provider based on a list of price rules.


Field Summary
 int ALL_DAYS
           
protected  double fixed
           
 int MAX_DAY
           
static int MAX_HOUR
           
static int MAX_MINUTE
           
static int MAX_MSEC
           
static int MAX_SECOND
           
static int MAX_TIME
           
 int MIN_DAY
           
static int MIN_TIME
           
protected  java.lang.String name
           
protected  java.util.List[] rules
           
protected  java.util.Calendar workerCal
           
 
Constructor Summary
PhonePrice(java.lang.String name)
           
PhonePrice(java.lang.String name, double fixed)
           
 
Method Summary
 boolean add(int day, int msecs, double price)
           
 boolean add(int day, int msecs, double price, int msecsDiscount, double discount)
           
 double calc(java.util.Date start, java.util.Date end)
           
 double fixedCost()
           
protected  PhonePriceRule getRule(int day, int msecs)
           
protected  java.util.ListIterator ruleListIterator(int day)
           
 java.util.Date[] split(java.util.Date start, java.util.Date end)
           
static java.util.Date toDate(int msecs)
           
static int toMsecs(int hour, int minute)
           
static int toMsecs(int hour, int minute, int second, int msecs)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

rules

protected java.util.List[] rules

workerCal

protected java.util.Calendar workerCal

fixed

protected double fixed

MIN_DAY

public final int MIN_DAY

MAX_DAY

public final int MAX_DAY

ALL_DAYS

public final int ALL_DAYS

MAX_HOUR

public static final int MAX_HOUR

MAX_MINUTE

public static final int MAX_MINUTE

MAX_SECOND

public static final int MAX_SECOND

MAX_MSEC

public static final int MAX_MSEC

MIN_TIME

public static final int MIN_TIME

MAX_TIME

public static final int MAX_TIME
Constructor Detail

PhonePrice

public PhonePrice(java.lang.String name)

PhonePrice

public PhonePrice(java.lang.String name,
                  double fixed)
Method Detail

add

public boolean add(int day,
                   int msecs,
                   double price,
                   int msecsDiscount,
                   double discount)

add

public boolean add(int day,
                   int msecs,
                   double price)

calc

public double calc(java.util.Date start,
                   java.util.Date end)

split

public java.util.Date[] split(java.util.Date start,
                              java.util.Date end)

getRule

protected PhonePriceRule getRule(int day,
                                 int msecs)

ruleListIterator

protected java.util.ListIterator ruleListIterator(int day)

fixedCost

public double fixedCost()

toMsecs

public static int toMsecs(int hour,
                          int minute,
                          int second,
                          int msecs)

toMsecs

public static int toMsecs(int hour,
                          int minute)

toDate

public static java.util.Date toDate(int msecs)

toString

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