Con Spring 2.5 esistono due possibilità:
1) utilizzando la gerarchia di bean
Foo
Bar
Ernie
Bert
In questo modo listTree conterrà [Foo, Bar, Ernie, Bert].
Se non si vuole introdurre una gerarchia di bean, bisogna seguire un'altra strada.
2) creando una classe apposita che esegue la concatenazione
package com.company.utils.spring;
import java.util.*;
import org.springframework.beans.factory.config.ListFactoryBean;
public class ListMergerFactory extends ListFactoryBean
{
private final List listOfLists;
public ListMergerFactory(List listOfLists) throws Exception
{
this.listOfLists = listOfLists;
setSourceList(new ArrayList());
}
protected Object createInstance()
{
List listOrigin = (List) super.createInstance();
for (Iterator iter = listOfLists.iterator(); iter.hasNext();)
{
List element = (List) iter.next();
listOrigin.addAll(element);
}
return listOrigin;
}
}
E utilizzandola per creare la lista finale:
Foo
Bar
Ernie
Bert
Anche in questo modo listTree conterrà [Foo, Bar, Ernie, Bert].
Nessun commento:
Posta un commento