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

de.comhix.twitch.database.dao.test.MockQuery Maven / Gradle / Ivy

package de.comhix.twitch.database.dao.test;

import de.comhix.twitch.database.dao.Query;
import de.comhix.twitch.database.objects.QueryResult;
import io.reactivex.Maybe;
import io.reactivex.Single;

import java.util.Collection;

import static com.google.common.collect.Lists.newArrayList;

/**
 * @author Benjamin Beeker
 */
public class MockQuery extends Query {

    private final Collection data;

    public MockQuery() {
        this(newArrayList());
    }

    public MockQuery(Type... data) {
        this(newArrayList(data));
    }

    public MockQuery(Collection data) {
        this.data = data;
    }

    @Override
    public  Query with(String field, Operation operation, AllowedValueType value) {
        return this;
    }

    @Override
    public Query limit(int limit) {
        return this;
    }

    @Override
    public Query skip(int skip) {
        return this;
    }

    @Override
    public Query order(String field) {
        return this;
    }

    @Override
    public Single> query() {
        return Single.just(new QueryResult<>(newArrayList(data)));
    }

    @Override
    public Maybe find() {
        return data.isEmpty() ? Maybe.empty() : Maybe.just(data.iterator().next());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy