Generowanie kodu Java z XML w Eclipse
Pracuję nad projektem, który będzie miał kilka klas Java, które są bardzo podobne do siebie i które chciałbym wygenerować z plików XML. To, co chciałbym zrobić, to zmienić proces budowania Eclipse, aby zrobić coś takiego:
Skompiluj generator koduUruchom generator kodu, konwertując XML na JavęSkompiluj resztę projektuMógłbym zrobić to wszystko ręcznie, ale wolałbym mieć Eclipse to wszystko dla mnie.
Przykład
Chcę móc pobrać źródłowy plik XML, który wygląda tak:
<command-list>
<command name="DATE" />
<command name="GROUP">
<capability "READER" />
<argument "groupname" />
</command>
<command name="ARTICLE">
<capability "READER" />
<argument "message-id" optional="true" />
</command>
</command-list>
i daj mi coś podobnego do następującego (w osobnych plikach, jeśli to właściwe):
public class Date extends Command {
public ResponseCode execute() {
Server srv = getServer();
srv.send("DATE");
return srv.getResponse();
}
}
public class Group extends Command {
public ResponseCode execute() {
Server srv = getServer();
if (srv.hasCapability(Capabilities.READER) == false) {
Log.debug("Attempting non-available capability: READER");
}
String groupname = getArgument("groupname");
if (groupname == null) {
throw new InvalidArgumentException("Require groupname");
}
String command = "GROUP";
if (groupname != null) command += " " + groupname;
srv.send(command);
return srv.getResponse();
}
}
public class Article extends Command {
public ResponseCode execute() {
Server srv = getServer();
if (srv.hasCapability(Capabilities.READER) == false) {
Log.debug("Attempting non-available capability: READER");
}
String messageId = getArgument("messageId");
String command = "ARTICLE";
if (messageId != null) command += " " + messageId;
srv.send(command);
return srv.getResponse();
}
}