/* * Hibernate Search, full-text search for your domain model * * 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.search.query.hibernate.impl; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.search.engine.integration.impl.ExtendedSearchIntegrator; import org.hibernate.search.query.engine.spi.TimeoutManager; /** * Context class wrapping all resources needed in the context of object initialization. * * @see org.hibernate.search.query.hibernate.impl.ObjectInitializer */ public class ObjectInitializationContext { private final Criteria criteria; private final Class<?> entityType; private final ExtendedSearchIntegrator extendedIntegrator; private final TimeoutManager timeoutManager; private final Session session; /** * @param criteria A user specified {@code Criteria query} or {@code null}. * See also {@link org.hibernate.search.FullTextQuery#setCriteriaQuery(org.hibernate.Criteria)}. * @param targetedEntityType The entity type targeted explicitly by the user * @param extendedIntegrator Handle to the search factory * @param timeoutManager Handle to the timeout manager * @param session Handle to the ORM session */ public ObjectInitializationContext(Criteria criteria, Class<?> targetedEntityType, ExtendedSearchIntegrator extendedIntegrator, TimeoutManager timeoutManager, Session session) { this.criteria = criteria; this.entityType = targetedEntityType; this.extendedIntegrator = extendedIntegrator; this.timeoutManager = timeoutManager; this.session = session; } public Criteria getCriteria() { return criteria; } public Class<?> getEntityType() { return entityType; } public ExtendedSearchIntegrator getExtendedSearchIntegrator() { return extendedIntegrator; } public TimeoutManager getTimeoutManager() { return timeoutManager; } public Session getSession() { return session; } }