Dies ist ein klassischer Fall für die Verwendung von Interfaces:
Code:
public interface SoapInt
{
public int setParameter(String name1, String name2);
}
class ActorSoap implements SoapInt
{
...
}
class ArtistSoap implements SoapInt
{
...
}
class AsinSoap implements SoapInt
{
...
}
String directive = args[0];
SoapInt searchObject;
if (directive.equals("actor")) {
searchObject = new ActorSoap();
} else if (directive.equals("artist")) {
searchObject = new ArtistSoap();
} else if (directive.equals("asin")) {
searchObject = new AsinSoap();
} else if ...
} else {
showUsage();
}
searchObject.setParameter("Dev-Tag",DEVTOKEN);
searchObject.setParameter("Mode","books");
searchObject.setParameter("Keyword",keyword);
Als Java-Programmierer sollte man keinen Cast-Operator mehr verwenden.