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

com.heliorm.impl.ExecutablePart Maven / Gradle / Ivy

The newest version!
package com.heliorm.impl;

import com.heliorm.OrmException;
import com.heliorm.def.Executable;

import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;

/**
 * @author gideon
 */
public abstract class ExecutablePart< DO> implements Executable {

    private final Selector selector;

    public ExecutablePart(Selector selector) {
        this.selector = selector;
    }

    public abstract SelectPart< DO> getSelect();

    public abstract List> getOrder();

    public abstract LimitPart getLimit();

    @Override
    public List list() throws OrmException {
        return selector.list(getSelect());
    }

    @Override
    public Stream stream() throws OrmException {
        return selector.stream(getSelect());
    }

    @Override
    public DO one() throws OrmException {
        return selector.one(getSelect());
    }

    @Override
    public Optional optional() throws OrmException {
        return selector.optional(getSelect());
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy