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

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> peeker);

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

    @Override
    RootValue filter(SingularAttribute attribute);

    @Override
    RootValue filter(Function, ? 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