0

構造を持つネストされたオブジェクトにアクセスするには、Java テンプレート コードを生成する必要があります。

例:

class Person{
    private String name;
    private List<Address> address;

}

class Address{
    private String doorNo;
    private String Address;
    private City city;
}

class City{
    ....
}

そのため、次のように、任意のオブジェクト (ネストされた) を取得し、上記の人物オブジェクトの 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()) {
            ......
        }
    }
}

メソッドはジェネリックであり、動的にネストされたオブジェクトのコードを再帰的に生成する必要があります。

よろしくお願いいたします。ありがとう。

4

2 に答える 2

2

コード生成は複雑な作業であり、StackOverflow の Q&A 形式では完全に答えることはできません。

ここで説明するメソッドを「ただ」作成する関数を作成している間は、約 1 日ほどかかることに注意してください。退屈ではありますが、手で書くほうが時間効率の良い方法かもしれません。( http://xkcd.com/1205/ )

コードを生成したい場合は、まず、必要なことを行うコード生成ツールを選択する必要があります。いくつかあります (おそらく、IDE のリファクタリング機能も使用できます)。元のソース コード内でコードが処理される方法を操作できるようにしたい場合は、Java APTが非常に役立つことがわかりました。Java コードをトラバースpackagesし、そこにある構造に従ってクラスとメソッドを生成できます。Annotations任意の単一のメソッドで何を行うかを決定できるように解釈できるツールです。

于 2013-09-30T09:42:16.720 に答える