All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ru.yandex.qatools.matchers.collection.WrapperConverter Maven / Gradle / Ivy

There is a newer version: 1.4.1
Show newest version
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 list;

    private WrapperFactory wrapperFactory;

    public WrapperConverter(List 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 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