org.dellroad.querystream.jpa.BooleanValueImpl 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.EntityManager;
import javax.persistence.FlushModeType;
import javax.persistence.LockModeType;
import javax.persistence.criteria.AbstractQuery;
import javax.persistence.criteria.Expression;
import org.dellroad.querystream.jpa.querytype.SearchType;
class BooleanValueImpl extends ExprValueImpl> implements BooleanValue {
// Constructors
BooleanValueImpl(EntityManager entityManager,
QueryConfigurer, Boolean, ? extends Expression> configurer, QueryInfo queryInfo) {
super(entityManager, new SearchType<>(Boolean.class), configurer, queryInfo);
}
// BooleanValue
@Override
public BooleanValue not() {
return new BooleanValueImpl(this.entityManager,
(builder, query) -> builder.not(this.configurer.configure(builder, query)), this.queryInfo);
}
// Subclass required methods
@Override
BooleanValue create(EntityManager entityManager, SearchType queryType,
QueryConfigurer, Boolean, ? extends Expression> configurer, QueryInfo queryInfo) {
return new BooleanValueImpl(entityManager, configurer, queryInfo);
}
// Narrowing overrides (QueryStream)
@Override
public BooleanValue bind(Ref> ref) {
return (BooleanValue)super.bind(ref);
}
@Override
public BooleanValue peek(Consumer super Expression> peeker) {
return (BooleanValue)super.peek(peeker);
}
@Override
public BooleanValue filter(Function super Expression, ? extends Expression> predicateBuilder) {
return (BooleanValue)super.filter(predicateBuilder);
}
@Override
public BooleanValue withFlushMode(FlushModeType flushMode) {
return (BooleanValue)super.withFlushMode(flushMode);
}
@Override
public BooleanValue withLockMode(LockModeType lockMode) {
return (BooleanValue)super.withLockMode(lockMode);
}
@Override
public BooleanValue withHint(String name, Object value) {
return (BooleanValue)super.withHint(name, value);
}
@Override
public BooleanValue withHints(Map hints) {
return (BooleanValue)super.withHints(hints);
}
@Override
public BooleanValue withLoadGraph(String name) {
return (BooleanValue)super.withLoadGraph(name);
}
@Override
public BooleanValue withFetchGraph(String name) {
return (BooleanValue)super.withFetchGraph(name);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy