//
// CommissionEmployee.java
// Represents an employee paid weekly commission
//
// Nadeem Abdul Hamid
// CSC 121 - Berry College
//

public class CommissionEmployee extends Employee {

    private double grossSales;   
    private double commissionRate;

    // four-argument constructor
    public CommissionEmployee( String name, String ssn, double sales, double rate ) {
	super( name, ssn );
	setSales( sales );
	setRate( rate );
    }

    // validate and set weekly sales
    public void setSales( double sales ) {
        grossSales = sales < 0.0 ? 0.0 : sales;
    }

    // return weekly sales
    public double getSales() { return grossSales; }

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

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

    // calculate earnings (override abstract method in superclass)
    public double earnings() { return getSales() * getRate(); }
    
    // return String representation of SalariedEmployee object
    public String toString() {
        return "commission employee: " + super.toString()
	    + "\ngross sales: " + getSales()
	    + "\ncommission rate: " + getRate();
    } // end method toString

} // end class CommissionEmployee