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

org.dellroad.querystream.jpa.IntStream 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.Set;
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 Integer} values.
 */
public interface IntStream extends ExprStream> {

// Aggregation

    DoubleValue average();

    IntValue max();

    IntValue min();

    IntValue sum();

// Mapping

    LongStream asLongStream();

    DoubleStream asDoubleStream();

// Narrowing overrides (SearchStream)

    @Override
    IntStream distinct();

    @Override
    IntStream orderBy(Ref> ref, boolean asc);

    @Override
    IntStream orderBy(Function, ? extends Expression> orderExprFunction, boolean asc);

    @Override
    IntStream orderBy(Order... orders);

    @Override
    IntStream orderByMulti(Function, ? extends List> orderListFunction);

    @Override
    IntStream thenOrderBy(Ref> ref, boolean asc);

    @Override
    IntStream thenOrderBy(Order... orders);

    @Override
    IntStream thenOrderBy(Function, ? extends Expression> orderExprFunction, boolean asc);

    @Override
    IntStream groupBy(Ref> ref);

    @Override
    IntStream groupBy(Function, ? extends Expression> groupFunction);

    @Override
    IntStream groupByMulti(Function, ? extends List>> groupFunction);

    @Override
    IntStream having(Function, ? extends Expression> havingFunction);

    @Override
    IntValue findAny();

    @Override
    IntValue findFirst();

    @Override
    IntValue findSingle();

// Narrowing overrides (QueryStream)

    @Override
    IntStream bind(Ref> ref);

    @Override
    IntStream peek(Consumer> peeker);

    @Override
    > IntStream bind(
      Ref ref, Function, ? extends S2> refFunction);

    @Override
     IntStream addRoot(Ref> ref, Class type);

    @Override
    IntStream filter(Function, ? extends Expression> predicateBuilder);

    @Override
    IntStream limit(int maxSize);

    @Override
    IntStream skip(int num);

    @Override
    IntStream withFlushMode(FlushModeType flushMode);

    @Override
    IntStream withLockMode(LockModeType lockMode);

    @Override
    IntStream withHint(String name, Object value);

    @Override
    IntStream withHints(Map hints);

    @Override
     IntStream withParam(Parameter parameter, T value);

    @Override
    IntStream withParam(Parameter parameter, Date value, TemporalType temporalType);

    @Override
    IntStream withParam(Parameter parameter, Calendar value, TemporalType temporalType);

    @Override
    IntStream withParams(Set> params);

    @Override
    IntStream withLoadGraph(String name);

    @Override
    IntStream withFetchGraph(String name);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy