org.hibernate.property.access.spi.PropertyAccessStrategyResolver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core Show documentation
Show all versions of hibernate-core Show documentation
Hibernate's core ORM functionality
/*
* 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 .
*/
package org.hibernate.property.access.spi;
import org.hibernate.EntityMode;
import org.hibernate.service.Service;
/**
* Contract for resolving the PropertyAccessStrategy to use.
*
* todo : moving forward I'd prefer this not be a service, but instead a strategy on the MetadataBuildingContext or MetadataBuildingOptions
*
* @author Steve Ebersole
*/
public interface PropertyAccessStrategyResolver extends Service {
/**
* Resolve the PropertyAccessStrategy to use
*
* @param containerClass The java class of the entity
* @param explicitAccessStrategyName The access strategy name explicitly specified, if any.
* @param entityMode The entity mode in effect for the property, used to interpret different default strategies.
*
* @return The resolved PropertyAccessStrategy
*/
PropertyAccessStrategy resolvePropertyAccessStrategy(
Class containerClass,
String explicitAccessStrategyName,
EntityMode entityMode);
}