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

org.dellroad.querystream.jpa.LongStream 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 Long} values.
 */
public interface LongStream extends ExprStream> {

// Aggregation

    DoubleValue average();

    LongValue max();

    LongValue min();

    LongValue sum();

// Mapping

    DoubleStream asDoubleStream();

// Narrowing overrides (SearchStream)

    @Override
    LongStream distinct();

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

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

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

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

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

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

    @Override
    LongStream groupBy(Ref> ref);

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

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

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

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

    @Override
    LongValue findAny();

    @Override
    LongValue findFirst();

    @Override
    LongValue findSingle();

// Narrowing overrides (QueryStream)

    @Override
    LongStream bind(Ref> ref);

    @Override
    LongStream peek(Consumer> peeker);

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

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

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

    @Override
    LongStream limit(int maxSize);

    @Override
    LongStream skip(int num);

    @Override
    LongStream withFlushMode(FlushModeType flushMode);

    @Override
    LongStream withLockMode(LockModeType lockMode);

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

    @Override
    LongStream withHints(Map hints);

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

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

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

    @Override
    LongStream withParams(Set> params);

    @Override
    LongStream withLoadGraph(String name);

    @Override
    LongStream withFetchGraph(String name);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy