Subkomponentenliste

Im Beispiel

interface Config extends ConfigurationItem {
   List<A> getListA();

   interface A extends ConfigurationItem {
      ...
   }
}

wird die Subkomponentenliste getListA() in einem XML-Element list-a gespeichert. Der (lokale) Name dieses Elements entspricht dem Konfigurationsnamen der listenwertigen Eigenschaft. Jeder Listeneintrag wird durch ein innerers XML-Element des Listen-Elements gespeichert. Ist nichts angegeben, wird entry als Tag-Name für die Listeneinträge verwendet:

<config>
   <list-a>
      <entry .../>
      <entry .../>
      <entry .../>
   </list-a>
</config>

Der Tag-Name der Listenelemente kann über die Annotation @EntryTag bestimt werden:

interface Config extends ConfigurationItem {
   @EntryTag("a")
   List<A> getListA();
}

In obigem Beispiel wird die Liste dann folgendermaßen konfiguriert:

<config>
   <list-a>
      <a .../>
      <a .../>
      <a .../>
   </list-a>
</config>