/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Meal {
public boolean isWarm() {
return false;
}
}
class Fish extends Meal {
}
class WarmMeal extends Meal {
Meal meal;
public WarmMeal(Meal meal) {
this.meal = meal;
}
public boolean isWarm() {
return true;
}
return meal.toString();
}
}
class Microwave {
public static Meal warm(Meal meal)
{
System.
out.
println("Pogrzewam posiłek"); return new WarmMeal(meal);
}
}
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Meal fish = new Fish();
System.
out.
println("Potrawa gotowa do pieczenia: "+fish.
toString()); System.
out.
println("Czy ciepła?: "+fish.
isWarm()); fish = Microwave.warm(fish);
System.
out.
println("Potrawa podgrzana: "+fish.
toString()); System.
out.
println("Czy ciepła?: "+fish.
isWarm()); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBNZWFsIHsKIAogICAgcHVibGljIGJvb2xlYW4gaXNXYXJtKCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgCn0KCmNsYXNzIEZpc2ggZXh0ZW5kcyBNZWFsIHsKIAp9CgpjbGFzcyBXYXJtTWVhbCBleHRlbmRzIE1lYWwgewogICAgTWVhbCBtZWFsOwoKICAgIHB1YmxpYyBXYXJtTWVhbChNZWFsIG1lYWwpIHsKICAgICAgIHRoaXMubWVhbCA9IG1lYWw7CiAgICB9CgogICAgcHVibGljIGJvb2xlYW4gaXNXYXJtKCkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKSB7CiAgICAgICByZXR1cm4gbWVhbC50b1N0cmluZygpOwogICAgfSAKfQoKY2xhc3MgTWljcm93YXZlIHsKIAogICAgcHVibGljIHN0YXRpYyBNZWFsIHdhcm0oTWVhbCBtZWFsKQogICAgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUG9ncnpld2FtIHBvc2nFgmVrIik7CiAgICAgICAgcmV0dXJuIG5ldyBXYXJtTWVhbChtZWFsKTsKICAgIH0KCn0KCgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgTWVhbCBmaXNoID0gbmV3IEZpc2goKTsKICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUG90cmF3YSBnb3Rvd2EgZG8gcGllY3plbmlhOiAiK2Zpc2gudG9TdHJpbmcoKSk7CiAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkN6eSBjaWVwxYJhPzogIitmaXNoLmlzV2FybSgpKTsKICAgICAgIGZpc2ggPSBNaWNyb3dhdmUud2FybShmaXNoKTsgCiAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBvdHJhd2EgcG9kZ3J6YW5hOiAiK2Zpc2gudG9TdHJpbmcoKSk7CiAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkN6eSBjaWVwxYJhPzogIitmaXNoLmlzV2FybSgpKTsKCX0KfQ==