/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html */ package org.hibernate.query.sqm.domain; import org.hibernate.persister.queryable.spi.BasicValuedExpressableType; import org.hibernate.persister.queryable.spi.EntityValuedExpressableType; import org.hibernate.query.sqm.tree.expression.BinaryArithmeticSqmExpression; /** * Exposes access back to the consumer to be able to resolve domain model * references encountered in the query. * <p/> * The entire premise of all these {@link org.hibernate.sqm.domain} contracts to * * @author Steve Ebersole * * @deprecated Move these to {@link org.hibernate.metamodel.spi.MetamodelImplementor} * or {@link org.hibernate.type.spi.TypeConfiguration} */ @Deprecated public interface SqmDomainMetamodel { EntityValuedExpressableType resolveEntityReference(String entityName); <T> EntityValuedExpressableType<T> resolveEntityReference(Class<T> javaType); // - just push the cast target text into the tree. let the consumer figure out how to interpret it? BasicValuedExpressableType resolveCastTargetType(String name); <T> BasicValuedExpressableType<T> resolveBasicType(Class<T> javaType); BasicValuedExpressableType resolveArithmeticType( BasicValuedExpressableType firstType, BasicValuedExpressableType secondType, BinaryArithmeticSqmExpression.Operation operation); BasicValuedExpressableType resolveSumFunctionType(BasicValuedExpressableType argumentType); }