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.