package gueei.binding.converters;
import java.util.ArrayList;
import gueei.binding.Converter;
import gueei.binding.IObservable;
import gueei.binding.collections.CombinedAdapter;
import android.widget.Adapter;
/**
* STITCH multiple adapters to one adapter for used in List Views. <br/>
*
* @usage adapter adapter ...
* @arg adapter android.widget.Adapter
*
* @return android.widget.Adapter
*/
public class STITCH extends Converter<Adapter>{
public STITCH(IObservable<?>[] dependents) {
super(Adapter.class, dependents);
}
@Override
public Adapter calculateValue(Object... args) throws Exception {
CombinedAdapter combine = new CombinedAdapter();
int length = args.length;
ArrayList<Adapter> adapters = new ArrayList<Adapter>();
for (int i=0; i<length; i++){
if (args[i] instanceof Adapter){
adapters.add((Adapter)args[i]);
}
}
combine.addAdapter(adapters.toArray(new Adapter[0]));
return combine;
}
}