/*
 * 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.criteria.internal;

import javax.persistence.criteria.Path;
import javax.persistence.metamodel.Attribute;

Implementation contract for the JPA Path interface.
Author:Steve Ebersole
/** * Implementation contract for the JPA {@link Path} interface. * * @author Steve Ebersole */
public interface PathImplementor<X> extends ExpressionImplementor<X>, Path<X>, PathSource<X>, Renderable {
Retrieve reference to the attribute this path represents.
Returns:The metamodel attribute.
/** * Retrieve reference to the attribute this path represents. * * @return The metamodel attribute. */
public Attribute<?, ?> getAttribute();
Defines handling for the JPA 2.1 TREAT down-casting feature.
Params:
  • treatAsType – The type to treat the path as.
Type parameters:
  • <T> – The parameterized type representation of treatAsType.
Returns:The properly typed view of this path.
/** * Defines handling for the JPA 2.1 TREAT down-casting feature. * * @param treatAsType The type to treat the path as. * @param <T> The parameterized type representation of treatAsType. * * @return The properly typed view of this path. */
public <T extends X> PathImplementor<T> treatAs(Class<T> treatAsType); }