//
// CommissionEmployee.java
// Class represents employee paid on commission
//
// Nadeem Abdul Hamid (based on Deitel & Deitel Ch. 9)
// CSC 121 - Spring 2005
//

public class CommissionEmployee extends Object {
    private String name;     // full name
    private double sales;    // gross weekly sales
    private double rate;     // commission percentage

    public CommissionEmployee( String name, double sales, double rate ) {
	this.name = name;
	setSales( sales );   // validate and store gross sales
	setRate( rate );     // validate and store commission rate
    } // end CommissionEmployee constructor

    
    // set name
    public void setName( String name ) { this.name = name; }

    // return name
    public String getName() { return name; }

    // set gross sales amount
    public void setSales( double sales ) {
	this.sales = ( sales < 0.0 ) ? 0.0 : sales;
    } 
    
    // return gross sales amount
    public double getSales() { return sales; }

    // set commission rate
    public void setRate( double rate ) {
	this.rate = ( rate > 0.0 && rate < 1.0 ) ? rate : 0.0;
    } 

    // return commission rate
    public double getRate() { return rate; }

    // calculate earnings
    public double earnings() { return rate * sales; }

    // return String representation of CommissionEmployee object
    public String toString() {
	return "commission employee: " + name + "\n" +
	    "gross sales: " + sales + "\n" +
	    "commission rate: " + rate;
    } // end toString

} // end class CommissionEmployee