org.dellroad.querystream.jpa.RootValue Maven / Gradle / Ivy
/*
* Copyright (C) 2018 Archie L. Cobbs. All rights reserved.
*/
package org.dellroad.querystream.jpa;
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.criteria.Expression;
import javax.persistence.criteria.Root;
import javax.persistence.criteria.Selection;
import javax.persistence.metamodel.SingularAttribute;
/**
* A {@link RootStream} that is guaranteed to return at most a single result.
*/
public interface RootValue extends FromValue>, RootStream {
// Narrowing overrides (QueryStream)
@Override
RootValue bind(Ref> ref);
@Override
RootValue peek(Consumer super Root> peeker);
@Override
> RootValue bind(Ref ref, Function super Root, ? extends S2> refFunction);
@Override
RootValue filter(SingularAttribute super X, Boolean> attribute);
@Override
RootValue filter(Function super Root, ? extends Expression> predicateBuilder);
@Override
RootValue withFlushMode(FlushModeType flushMode);
@Override
RootValue withLockMode(LockModeType lockMode);
@Override
RootValue withHint(String name, Object value);
@Override
RootValue withHints(Map hints);
@Override
RootValue withLoadGraph(String name);
@Override
RootValue withFetchGraph(String name);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy