代码生成实用程序生成java模板以访问所有方法和对象(嵌套)

时间:2013-09-30 09:15:19

标签: java code-generation

我需要生成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()) {
            ......
        }
    }
}

该方法应该是通用的,并为动态嵌套对象递归生成代码。

非常感谢您的帮助。 感谢。

2 个答案:

答案 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/