/**
 * The DVD class represents a dvd object. Information
 * about the dvd is stored and can be retrieved.
 * 
 * @author Michael Rivers
 * @version April 13th 2006
 */
public class DVD extends Video
{
    private boolean bonusMaterials;
    
    /**
     * Default Constructor
     */
    public DVD()
    {
        bonusMaterials = false;
    }
    
    /**
     * Initialize the DVD and pass parameters to the parent class
     */
    public DVD(String theTitle, String theDirector, int time)
    {
        super(theTitle, theDirector, time);
        bonusMaterials = false;
    }

    /**
     * This constructor method also passes the "got it" parameter
     */
    public DVD(String theTitle, String theDirector, 
                               int time, boolean gotIt)
    {
        super(theTitle, theDirector, time, gotIt);
        bonusMaterials = false;
    }
    
    /**
     * This one passes "got it" and comment to its parent class
     */
    public DVD(String theTitle, String theDirector, 
                       int time, boolean gotIt, String comment)
    {
        super(theTitle, theDirector, time, gotIt, comment);
        bonusMaterials = false;
    }
    
    /**
     * This one additionally requires a boolean parameter for
     * bonusMaterials
     */
    public DVD(String theTitle, String theDirector, int time, 
        boolean gotIt, String comment, boolean hasBonusMaterials)
    {
        super(theTitle, theDirector, time, gotIt, comment);
        bonusMaterials = hasBonusMaterials;
    }
    /**
     * Accessor method to check for bonus materials
     */
    public boolean getBonusMaterials()
    {
        return bonusMaterials;
    }
    
    /**
     * Mutator method to change whether  or not bonus 
     * materials are included
     */
    public void setBonusMaterials(boolean hasBonusMaterials)
    {
        bonusMaterials = hasBonusMaterials;
    }
    
    /**
     * Print method calls the parent's print method and prints 
     * additional details about the DVD
     */
    public void print()
    {
        System.out.print("DVD: ");
        super.print();
        if(bonusMaterials) {
            System.out.println("    Includes Bonus Materials!");
        } else {
        }
    }
}

