-
Notifications
You must be signed in to change notification settings - Fork 14
/
RootImpl.java
29 lines (24 loc) · 1.04 KB
/
RootImpl.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package cz.cvut.kbss.jopa.query.criteria;
import cz.cvut.kbss.jopa.model.metamodel.EntityType;
import cz.cvut.kbss.jopa.model.metamodel.Metamodel;
import cz.cvut.kbss.jopa.model.query.criteria.Root;
import cz.cvut.kbss.jopa.query.criteria.expressions.AbstractPathExpression;
import cz.cvut.kbss.jopa.sessions.CriteriaBuilder;
public class RootImpl<X> extends AbstractPathExpression<X> implements Root<X> {
public RootImpl(Metamodel metamodel, AbstractPathExpression<X> expression, Class<X> type, CriteriaBuilder cb) {
super(type, expression, metamodel, cb);
}
@Override
public EntityType<X> getModel() {
return metamodel.entity(type);
}
@Override
public void setExpressionToQuery(StringBuilder query, CriteriaParameterFiller parameterFiller) {
if (this.pathSource != null){
this.pathSource.setExpressionToQuery(query, parameterFiller);
query.append("." + type.getSimpleName().toLowerCase());
} else {
query.append(type.getSimpleName().toLowerCase());
}
}
}