@Override public CriteriaQuery<Tuple> createTupleQuery() { return new KunderaCritieriaQuery<Tuple>(this, Tuple.class); }
@Override public CriteriaQuery<T> multiselect(List<Selection<?>> paramList) { // this.queryPlan return multiselect((Selection<?>[]) paramList.toArray()); }
@Override public CriteriaQuery<T> orderBy(Order... paramArrayOfOrder) { return orderBy(Arrays.asList(paramArrayOfOrder)); }
@Override public <X> Root<X> from(Class<X> paramClass) { EntityType<X> entityType = this.criteriaBuilder.getMetaModel().entity(paramClass); return fromEntityType(entityType); }
@Override public CriteriaQuery<T> multiselect(Selection<?>... paramArrayOfSelection) { SelectionType type = SelectionType.getSelectionType(getResultType()); switch (type) { case TUPLE: this.queryPlan.setSelection(this.criteriaBuilder.tuple(paramArrayOfSelection)); break; case ARRAY: this.queryPlan.setSelection(this.criteriaBuilder.array(this.getResultType(),paramArrayOfSelection)); break; case OBJECT: this.queryPlan.setSelection(this.criteriaBuilder.construct(getResultType(), paramArrayOfSelection)); break; } return this; }
@Override public <X> Root<X> from(EntityType<X> paramEntityType) { if(!this.criteriaBuilder.getMetaModel().getEntities().contains(paramEntityType)) { throw new IllegalArgumentException("Invalid entity type, {class:" + paramEntityType.getName() + "}"); } return fromEntityType(paramEntityType); }
@Override public CriteriaQuery<Object> createQuery() { return new KunderaCritieriaQuery<Object>(this); }
@Override public <T> CriteriaQuery<T> createQuery(Class<T> returnClazz) { return new KunderaCritieriaQuery<T>(this, returnClazz); }