03.28
class BudincăDeGriş extends Prăjitură {
ArrayList Ingrediente = new ArrayList();
public BudincăDeGriş(int NrPorţii) throws Exception, PrajiturăTerminată
{
Griş griş;
Lapte lapte;
Zahăr zahărTos, zahărPudra, zahărVanilat;
Unt unt;
CoajăLămâie coajăLămâie;
OuăCollection ouă;
griş = new Griş(150, SI.GRAM);
lapte = new Lapte(1, SI.LITRU);
unt = new Unt(100, SI.GRAM);
zahărTos = new ZahărTos(3, Units.LINGURĂ);
zahărPudră = new ZahărPudră(150, SI.GRAM);
zahărVanilat = new ZahărVanilat(1, Units.LINGURĂ);
for (int i = 0; i < 4; i++) {
ouă.add(new Ou());
}
Ingrediente.add(griş);
Ingrediente.add(lapte);
Ingrediente.add(unt);
Ingrediente.add(coajăLămâie);
Ingrediente.add(zahărTos);
Ingrediente.add(zahărPudră);
Ingrediente.add(zahărVanilat);
Ingrediente.addAll(oua);
Ingrediente.trimToSize();
do {
Aragaz.Fierbe(lapte, Foc.MEDIU);
} while (lapte.Temperatura < 100);
lapte.add(griş);
do {
lapte.Amesteca();
} while (!lapte.aFiert());
// laptele cu griş se lasă să se răcească
lapte.Racire();
Gălbenuş gălbenuş = ouă.Separă(Ou.GĂLBENUŞ);
Albuş albuş = ouă.Separă(Ou.ALBUŞ);
zahărTos.add(gălbenuş);
zahărTos.Freacă();
albuş.BateSpuma();
// containerul pentru tot amestecul
Cratiţă cratiţă = new Cratiţă;
cratiţă.Unge(unt);
cratiţă.add(zahărTos);
cratiţă.add(lapte);
cratiţă.add(zahărVanilat);
cratiţă.add(albuş);
cratiţă.add(coajăLămâie);
try {
Cuptor.Coace(cratiţă, Foc.MEDIU);
} catch (CuptorCoacereException e) {
// când procesul de coacere s-a terminat
cratiţă.add(zahărPudră);
throw new PrăjiturăTerminatăException(cratiţă);
}
}
}
try {
BudincăDeGriş b = new BudincăDeGriş(4);
} catch (Exception e) {
System.out.println(e.getMessage());
} catch (PrăjiturăTerminată p) {
System.out.println("Poftă bună");
}
// JCook v0.1 beta