Java Reference
In-Depth Information
Template Method (Chapter 21)
SOLUTION 21.1
Your completed program should look something like:
package com.oozinoz.applications;
import java.util.*;
import com.oozinoz.units.*;
import com.oozinoz.fireworks.*;
public class ShowComparator implements UnitConstants
{
public static void main(String[] args)
{
Rocket r1 = new Rocket(
"Mach-it", 22.95, (Length) METER.times(1000));
Rocket r2 = new Rocket(
"Pocket", 2.95, (Length) METER.times(12));
Rocket r3 = new Rocket(
"Sock-it", 9.95, (Length) METER.times(100));
Rocket r4 = new Rocket(
"Sprocket", 3.95, (Length) METER.times(50));
List rockets =
Arrays.asList(new Rocket[] { r1, r2, r3, r4 });
Comparator c = new Comparator()
{
public int compare(Object o1, Object o2)
{
Rocket r1 = (Rocket) o1;
Rocket r2 = (Rocket) o2;
double apogee1 =
r1.getApogee().getMagnitude();
double apogee2 =
r2.getApogee().getMagnitude();
return (int) (apogee1 - apogee2);
}
};
Collections.sort(rockets, c);
Iterator i = rockets.iterator();
while (i.hasNext())
{
System.out.println(i.next());
}
}
}
SOLUTION 21.2
The code for markMoldIncomplete() passes the information about an incomplete mold
to the material manager:
Search WWH ::




Custom Search