$20
Automobile Packages (Factory pattern)
You are being asked to write Java code for this lab. When you buy a car, dealers offer add-on
packages with features such as upgraded radios, aluminum wheels, and sunroofs. The
composition of these packages may be somewhat of a mystery to buyers, and the composition
may vary in different geographic regions. For example, in Europe, stricter emission standards,
product availability, and local laws might be factors. At the same time, a car manufacturer wants
to standardize the names and general content of packages to protect their brand. Assume you
are asked to design a software component that assembles the content of two auto packages
("Luxury Bundle" and "Performance Bundle") for three geographic regions (Europe, Asia, North
America), relating to two models of cars sold by a single manufacturer. As you might guess, the
Factory Method pattem can be applied to this problem. Your task is to design AND CODE the
interfaces, abstract classes, and essential concrete classes for this application. Be sure to
create a test class to exhaustively test all possibilities.