
org.dellroad.querystream.jpa.PathValue 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.Path;
import jakarta.persistence.criteria.Selection;
import jakarta.persistence.metamodel.SingularAttribute;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;
/**
* A {@link PathStream} that is guaranteed to return at most a single result.
*/
public interface PathValue> extends ExprValue, PathStream {
// Narrowing overrides (QueryStream)
@Override
PathValue bind(Ref ref);
@Override
PathValue peek(Consumer super S> peeker);
@Override
> PathValue bind(Ref ref, Function super S, ? extends S2> refFunction);
@Override
PathValue filter(SingularAttribute super X, Boolean> attribute);
@Override
PathValue filter(Function super S, ? extends Expression> predicateBuilder);
@Override
PathValue withFlushMode(FlushModeType flushMode);
@Override
PathValue withLockMode(LockModeType lockMode);
@Override
PathValue withHint(String name, Object value);
@Override
PathValue withHints(Map hints);
@Override
PathValue withParam(Parameter parameter, T value);
@Override
PathValue withParam(Parameter parameter, Date value, TemporalType temporalType);
@Override
PathValue withParam(Parameter parameter, Calendar value, TemporalType temporalType);
@Override
PathValue withParams(Iterable extends ParamBinding>> params);
@Override
PathValue withLoadGraph(String name);
@Override
PathValue withFetchGraph(String name);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy