List<Map<String, String>> months = new ArrayList<Map<String,
String>>();
CF 用語では、そのコードは構造体の配列を作成します。Java は強く型付けされているため、コードはジェネリックを使用して、それぞれに含まれるオブジェクトの型を示します。
List< Map<...> > // Array containing structures
Map< String, String > // Structure containing "String" values
幸いなことに、CF 配列はjava.util.List
内部的にオブジェクトであり、構造体はjava.util.Map
オブジェクトです。したがって、適切なキーと値を持つ構造体の CF 配列を作成するだけで済みます。次に、配列を に渡しtemplate.setField(...)
ます。
構造でどのキーを使用すればよいかわからなかったので、「test.odt」テンプレートをjOpenDocument-template-1.2.zipからダウンロードしました。各構造には、テーブルの各列に 1 つずつ、3 つのキーが含まれている必要があることが明らかになりました: name
、min
、max
。構造体に文字列を入力する限り、これは機能するはずです。
// Create an array of structures. Each structure represents a table row.
// The key names for columns 1-3 are: "name", "min", "max"
months = [
{name="January", min="-12", max="3"}
, {name="February", min="-8", max="5"}
, {name="March", min="-5", max="12"}
, {name="April", min="-1", max="15"}
, {name="May", min="3", max="21"}
, {name="June", min="5", max="32"}
];
// populate table rows
template.setField("months", months);