/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Parseable ppp = ParserManager.getParser("XML");
ppp.Parse("XML");
}
}
interface Parseable
{
public abstract void Parse
(String fileName
); }
class XMLparser implements Parseable
{
public void Parse
(String fileName
){ System.
out.
println(fileName
+" - XML parsing completed"); }
}
class HTMLparser implements Parseable
{
public void Parse
(String fileName
){ System.
out.
println(fileName
+" - HTML parsing completed"); }
}
class ParserManager
{
public static void Parseable getParser
(String name
){ if(name.equals("XML")){
return new XMLparser();
} else {
Parseable p = new HTMLparser();
return p;
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVBhcnNlYWJsZSBwcHAgPSBQYXJzZXJNYW5hZ2VyLmdldFBhcnNlcigiWE1MIik7IAoJCXBwcC5QYXJzZSgiWE1MIik7Cgl9Cn0KCmludGVyZmFjZSBQYXJzZWFibGUgCnsKCXB1YmxpYyBhYnN0cmFjdCB2b2lkIFBhcnNlKFN0cmluZyBmaWxlTmFtZSk7Cn0KCmNsYXNzIFhNTHBhcnNlciBpbXBsZW1lbnRzIFBhcnNlYWJsZQp7CglwdWJsaWMgdm9pZCBQYXJzZShTdHJpbmcgZmlsZU5hbWUpewoJCVN5c3RlbS5vdXQucHJpbnRsbihmaWxlTmFtZSArIiAtIFhNTCBwYXJzaW5nIGNvbXBsZXRlZCIpOwoJfQp9CgpjbGFzcyBIVE1McGFyc2VyIGltcGxlbWVudHMgUGFyc2VhYmxlCnsKCXB1YmxpYyB2b2lkIFBhcnNlKFN0cmluZyBmaWxlTmFtZSl7CgkJU3lzdGVtLm91dC5wcmludGxuKGZpbGVOYW1lICsiIC0gSFRNTCBwYXJzaW5nIGNvbXBsZXRlZCIpOwoJfQp9CgpjbGFzcyBQYXJzZXJNYW5hZ2VyIAp7CglwdWJsaWMgc3RhdGljIHZvaWQgUGFyc2VhYmxlIGdldFBhcnNlcihTdHJpbmcgbmFtZSl7CgkJaWYobmFtZS5lcXVhbHMoIlhNTCIpKXsKCQkJcmV0dXJuIG5ldyBYTUxwYXJzZXIoKTsKCQl9IGVsc2UgewoJCQlQYXJzZWFibGUgcCA9IG5ldyBIVE1McGFyc2VyKCk7CgkJCXJldHVybiBwOwoJCX0KCX0KfQoK