org.dellroad.querystream.jpa.RootValueImpl 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.Map;
import java.util.function.Consumer;
import java.util.function.Function;
import javax.persistence.EntityManager;
import javax.persistence.FlushModeType;
import javax.persistence.LockModeType;
import javax.persistence.Parameter;
import javax.persistence.TemporalType;
import javax.persistence.criteria.AbstractQuery;
import javax.persistence.criteria.Expression;
import javax.persistence.criteria.Root;
import javax.persistence.criteria.Selection;
import javax.persistence.metamodel.SingularAttribute;
import org.dellroad.querystream.jpa.querytype.SearchType;
class RootValueImpl extends RootStreamImpl implements RootValue {
// Constructors
RootValueImpl(EntityManager entityManager, SearchType queryType,
QueryConfigurer, X, ? extends Root> configurer, QueryInfo queryInfo) {
super(entityManager, queryType, configurer, queryInfo);
}
// Subclass required methods
@Override
RootValue create(EntityManager entityManager, SearchType queryType,
QueryConfigurer, X, ? extends Root> configurer, QueryInfo queryInfo) {
return new RootValueImpl<>(entityManager, queryType, configurer, queryInfo);
}
// Narrowing overrides (QueryStream)
@Override
public RootValue bind(Ref> ref) {
return (RootValue)super.bind(ref);
}
@Override
public RootValue peek(Consumer super Root> peeker) {
return (RootValue)super.peek(peeker);
}
@Override
public > RootValue bind(
Ref ref, Function super Root, ? extends S2> refFunction) {
return (RootValue)super.bind(ref, refFunction);
}
@Override
public RootValue filter(SingularAttribute super X, Boolean> attribute) {
return (RootValue)super.filter(attribute);
}
@Override
public RootValue filter(Function super Root, ? extends Expression> predicateBuilder) {
return (RootValue)super.filter(predicateBuilder);
}
@Override
public RootValue withFlushMode(FlushModeType flushMode) {
return (RootValue)super.withFlushMode(flushMode);
}
@Override
public RootValue withLockMode(LockModeType lockMode) {
return (RootValue)super.withLockMode(lockMode);
}
@Override
public RootValue withHint(String name, Object value) {
return (RootValue)super.withHint(name, value);
}
@Override
public RootValue withHints(Map hints) {
return (RootValue)super.withHints(hints);
}
@Override
public RootValue withParam(Parameter parameter, T value) {
return (RootValue)super.withParam(parameter, value);
}
@Override
public RootValue withParam(Parameter parameter, Date value, TemporalType temporalType) {
return (RootValue)super.withParam(parameter, value, temporalType);
}
@Override
public RootValue withParam(Parameter parameter, Calendar value, TemporalType temporalType) {
return (RootValue)super.withParam(parameter, value, temporalType);
}
@Override
public RootValue withParams(Iterable extends ParamBinding>> params) {
return (RootValue)super.withParams(params);
}
@Override
public RootValue withLoadGraph(String name) {
return (RootValue)super.withLoadGraph(name);
}
@Override
public RootValue withFetchGraph(String name) {
return (RootValue)super.withFetchGraph(name);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy