Генерация Java-кода из XML в Eclipse
Я работаю над проектом, который будет иметь несколько классов Java, которые очень похожи друг на друга, и которые я хотел бы генерировать из файлов XML. То, что я хотел бы сделать, это изменить процесс сборки Eclipse, чтобы сделать что-то вроде этого:
Compile the code generator Run the code generator, converting the XML to Java Compile the rest of the projectЯ мог бы сделать все это вручную, но я бы предпочел, чтобы Eclipse сделал все это для меня.
Example
Я хочу иметь возможность взять исходный XML-файл, который выглядит следующим образом:
<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>
и пусть он даст мне что-то похожее на следующее (в отдельных файлах в зависимости от ситуации):
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();
}
}