org.dellroad.querystream.jpa.DoubleStream Maven / Gradle / Ivy
/*
* Copyright (C) 2018 Archie L. Cobbs. All rights reserved.
*/
package org.dellroad.querystream.jpa;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
import javax.persistence.FlushModeType;
import javax.persistence.LockModeType;
import javax.persistence.Parameter;
import javax.persistence.TemporalType;
import javax.persistence.criteria.Expression;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.Root;
import javax.persistence.criteria.Selection;
/**
* {@link SearchStream} containing {@link Double} values.
*/
public interface DoubleStream extends ExprStream> {
// Aggregation
DoubleValue average();
DoubleValue max();
DoubleValue min();
DoubleValue sum();
// Narrowing overrides (SearchStream)
@Override
DoubleStream distinct();
@Override
DoubleStream orderBy(Ref, ? extends Expression>> ref, boolean asc);
@Override
DoubleStream orderBy(Function super Expression, ? extends Expression>> orderExprFunction, boolean asc);
@Override
DoubleStream orderBy(Order... orders);
@Override
DoubleStream orderByMulti(Function super Expression, ? extends List extends Order>> orderListFunction);
@Override
DoubleStream thenOrderBy(Ref, ? extends Expression>> ref, boolean asc);
@Override
DoubleStream thenOrderBy(Order... orders);
@Override
DoubleStream thenOrderBy(Function super Expression, ? extends Expression>> orderExprFunction, boolean asc);
@Override
DoubleStream groupBy(Ref, ? extends Expression>> ref);
@Override
DoubleStream groupBy(Function super Expression, ? extends Expression>> groupFunction);
@Override
DoubleStream groupByMulti(Function super Expression, ? extends List>> groupFunction);
@Override
DoubleStream having(Function super Expression, ? extends Expression> havingFunction);
@Override
DoubleValue findAny();
@Override
DoubleValue findFirst();
@Override
DoubleValue findSingle();
// Narrowing overrides (QueryStream)
@Override
DoubleStream bind(Ref> ref);
@Override
DoubleStream peek(Consumer super Expression> peeker);
@Override
> DoubleStream bind(
Ref ref, Function super Expression, ? extends S2> refFunction);
@Override
DoubleStream addRoot(Ref> ref, Class type);
@Override
DoubleStream filter(Function super Expression, ? extends Expression> predicateBuilder);
@Override
DoubleStream limit(int maxSize);
@Override
DoubleStream skip(int num);
@Override
DoubleStream withFlushMode(FlushModeType flushMode);
@Override
DoubleStream withLockMode(LockModeType lockMode);
@Override
DoubleStream withHint(String name, Object value);
@Override
DoubleStream withHints(Map hints);
@Override
DoubleStream withParam(Parameter parameter, T value);
@Override
DoubleStream withParam(Parameter parameter, Date value, TemporalType temporalType);
@Override
DoubleStream withParam(Parameter parameter, Calendar value, TemporalType temporalType);
@Override
DoubleStream withParams(Iterable extends ParamBinding>> params);
@Override
DoubleStream withLoadGraph(String name);
@Override
DoubleStream withFetchGraph(String name);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy