
org.dellroad.querystream.jpa.FromStream Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of querystream-jpa Show documentation
Show all versions of querystream-jpa Show documentation
Build JPA Criteria queries using a Stream-like API
The newest version!
/*
* Copyright (C) 2018 Archie L. Cobbs. All rights reserved.
*/
package org.dellroad.querystream.jpa;
import jakarta.persistence.FlushModeType;
import jakarta.persistence.LockModeType;
import jakarta.persistence.Parameter;
import jakarta.persistence.TemporalType;
import jakarta.persistence.criteria.Expression;
import jakarta.persistence.criteria.From;
import jakarta.persistence.criteria.JoinType;
import jakarta.persistence.criteria.Order;
import jakarta.persistence.criteria.Root;
import jakarta.persistence.criteria.Selection;
import jakarta.persistence.metamodel.PluralAttribute;
import jakarta.persistence.metamodel.SingularAttribute;
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;
/**
* {@link SearchStream} containing items representable as {@link From}s.
*/
public interface FromStream> extends PathStream {
// Narrowing overrides (PathStream)
// can't do this because there's no method CriteriaBuilder.treat(From, Class)
// https://github.com/jakartaee/persistence/issues/190
//@Override
// FromStream> cast(Class type);
// Narrowing overrides (SearchStream)
@Override
FromStream distinct();
@Override
FromStream orderBy(Ref, ? extends Expression>> ref, boolean asc);
@Override
FromStream orderBy(SingularAttribute super X, ?> attribute, boolean asc);
@Override
FromStream orderBy(SingularAttribute super X, ?> attribute1, boolean asc1,
SingularAttribute super X, ?> attribute2, boolean asc2);
@Override
FromStream orderBy(SingularAttribute super X, ?> attribute1, boolean asc1,
SingularAttribute super X, ?> attribute2, boolean asc2, SingularAttribute super X, ?> attribute3, boolean asc3);
@Override
FromStream orderBy(Function super S, ? extends Expression>> orderExprFunction, boolean asc);
@Override
FromStream orderBy(Order... orders);
@Override
FromStream orderByMulti(Function super S, ? extends List extends Order>> orderListFunction);
@Override
FromStream thenOrderBy(SingularAttribute super X, ?> attribute, boolean asc);
@Override
FromStream thenOrderBy(Ref, ? extends Expression>> ref, boolean asc);
@Override
FromStream thenOrderBy(Order... orders);
@Override
FromStream thenOrderBy(Function super S, ? extends Expression>> orderExprFunction, boolean asc);
@Override
FromStream groupBy(Ref, ? extends Expression>> ref);
@Override
FromStream groupBy(SingularAttribute super X, ?> attribute);
@Override
FromStream groupBy(Function super S, ? extends Expression>> groupFunction);
@Override
FromStream groupByMulti(Function super S, ? extends List>> groupFunction);
@Override
FromStream having(Function super S, ? extends Expression> havingFunction);
@Override
FromValue findAny();
@Override
FromValue findFirst();
@Override
FromValue findSingle();
@Override
FromStream fetch(SingularAttribute super X, ?> attribute);
@Override
FromStream fetch(SingularAttribute super X, ?> attribute, JoinType joinType);
@Override
FromStream fetch(PluralAttribute super X, ?, ?> attribute);
@Override
FromStream fetch(PluralAttribute super X, ?, ?> attribute, JoinType joinType);
// Narrowing overrides (QueryStream)
@Override
FromStream bind(Ref ref);
@Override
FromStream peek(Consumer super S> peeker);
@Override
> FromStream bind(Ref ref, Function super S, ? extends S2> refFunction);
@Override
FromStream addRoot(Ref> ref, Class type);
@Override
FromStream filter(SingularAttribute super X, Boolean> attribute);
@Override
FromStream filter(Function super S, ? extends Expression> predicateBuilder);
@Override
FromStream limit(int maxSize);
@Override
FromStream skip(int num);
@Override
FromStream withFlushMode(FlushModeType flushMode);
@Override
FromStream withLockMode(LockModeType lockMode);
@Override
FromStream withHint(String name, Object value);
@Override
FromStream withHints(Map hints);
@Override
FromStream withParam(Parameter parameter, T value);
@Override
FromStream withParam(Parameter parameter, Date value, TemporalType temporalType);
@Override
FromStream withParam(Parameter parameter, Calendar value, TemporalType temporalType);
@Override
FromStream withParams(Iterable extends ParamBinding>> params);
@Override
FromStream withLoadGraph(String name);
@Override
FromStream withFetchGraph(String name);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy