
ru.yandex.qatools.matchers.collection.WrapperConverter Maven / Gradle / Ivy
package ru.yandex.qatools.matchers.collection;
import ch.lambdaj.function.convert.Converter;
import java.util.List;
/**
* Created with IntelliJ IDEA.
* User: lanwen
* Date: 25.05.13
* Time: 21:48
*/
public class WrapperConverter implements Converter> {
private List extends T> list;
private WrapperFactory wrapperFactory;
public WrapperConverter(List extends T> list, WrapperFactory wrapperFactory) {
this.list = list;
this.wrapperFactory = wrapperFactory;
}
public WrapperConverter(WrapperFactory wrapperFactory) {
this.wrapperFactory = wrapperFactory;
}
@Override
public Wrapper convert(T from) {
Wrapper wrapper = wrapperFactory.newWrapper();
if(wrapper == null) {
throw new IllegalStateException("Factory can't produce null wrapper");
}
wrapper.wrap(from);
if (null != list) {
wrapper.setPosition(list.indexOf(from));
}
return wrapper;
}
public static WrapperConverter wrap(List extends T> list, WrapperFactory factory) {
return new WrapperConverter(list, factory);
}
public static WrapperConverter wrapWith(WrapperFactory factory) {
return new WrapperConverter(factory);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy