//
// BasePlusCommissionEmployee.java
// Represents an employee paid weekly commission plus a base salary
//
// Nadeem Abdul Hamid
// CSC 121 - Berry College
//

public class BasePlusCommissionEmployee extends CommissionEmployee {

    private double baseSalary;

    // five-argument constructor
    public BasePlusCommissionEmployee( String name, String ssn, 
			       double sales, double rate, double salary ) {
	super( name, ssn, sales, rate );
	setSalary( salary );
    }

    // validate and set weekly base salary
    public void setSalary( double salary ) {
        baseSalary = salary < 0.0 ? 0.0 : salary;
    }

    // return weekly base salary
    public double getSalary() { return baseSalary; }

    // calculate earnings (override abstract method in superclass)
    public double earnings() { return getSalary() + ( getSales() * getRate() ); }
    
    // return String representation of SalariedEmployee object
    public String toString() {
        return "base-salaried " + super.toString()
	    + "\nbase salary: " + getSalary();
    } // end method toString

} // end class BasePlusCommissionEmployee