我需要生成java模板代码来访问具有结构的嵌套对象。
例如:
class Person{
private String name;
private List<Address> address;
}
class Address{
private String doorNo;
private String Address;
private City city;
}
class City{
....
}
因此需要一个方法来接受任何对象(嵌套)并为上面的person对象生成java代码,如下所示。
//Generated java code should be like this
if(person != null){
String name = StringUtils.isEmpty(Person.getName());
if(person.getAdressList() != null && person.getAddressLit().isNotEmpty()){
for (Address address : person.getAdressList()) {
......
}
}
}
该方法应该是通用的,并为动态嵌套对象递归生成代码。
非常感谢您的帮助。 感谢。
答案 0 :(得分:2)
代码生成是一项复杂的任务,无法在StackOverflow的Q&amp; A格式中得到完全解答。
请记住,在编写一个“只是”创建您在此处描述的方法的函数时,大约需要一天左右的时间。也许从手工编写它虽然很无聊,但却是时间效率更高的方法。 (http://xkcd.com/1205/)
如果您想生成代码,首先必须选择能够满足您需求的代码生成工具。有几个(也许您可以使用IDE的重构功能)。如果您希望能够在原始源代码中操纵代码的处理方式,我发现Java APT非常有用。它将允许您遍历Java代码的packages
,并根据其中的结构生成类和方法。
这是一个可以解释Annotations
以确定如何处理任何单一方法的工具。
答案 1 :(得分:0)
考虑使用JetBrains MPS。这是一个元编程IDE,Java作为一流的目标。 http://www.jetbrains.com/mps/
另一种方法是开发Spring Roo插件。 http://projects.spring.io/spring-roo/