我需要生成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()) {
......
}
}
}
该方法应该是通用的,并为动态嵌套对象递归生成代码。
代码生成是一项复杂的任务,无法在 StackOverflow 的 Q&A 格式中得到完整解答。
请记住,在编写“仅”创建您在此处描述的方法的函数时,大约需要一天左右的时间。也许手写虽然无聊,但却是更节省时间的方法。 (http://xkcd.com/1205/)
如果您想生成代码,您首先必须选择一个可以满足您需要的代码生成工具。有几个(也许您也可以使用 IDE 的重构功能)。如果您希望能够操纵原始源代码中处理代码的方式,我发现Java APT非常有用。它将让您遍历 Java 代码并根据其中找到的结构生成类和方法。 它是一个可以解释
packages
的工具,能够确定使用任何单一方法做什么。