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

问题描述 投票:0回答:2

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

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

java code-generation
2个回答
2
投票

代码生成是一项复杂的任务,无法在 StackOverflow 的 Q&A 格式中得到完整解答。

请记住,在编写“仅”创建您在此处描述的方法的函数时,大约需要一天左右的时间。也许手写虽然无聊,但却是更节省时间的方法。 (http://xkcd.com/1205/)

如果您想生成代码,您首先必须选择一个可以满足您需要的代码生成工具。有几个(也许您也可以使用 IDE 的重构功能)。如果您希望能够操纵原始源代码中处理代码的方式,我发现Java APT非常有用。它将让您遍历 Java 代码并根据其中找到的结构生成类和方法。 它是一个可以解释

packages
的工具,能够确定使用任何单一方法做什么。
    


0
投票
http://www.jetbrains.com/mps/

另一种方法是开发 Spring Roo 插件。

http://projects.spring.io/spring-roo/

© www.soinside.com 2019 - 2024. All rights reserved.