edu.utah.further.core.data.hibernate.query
Class QueryBuilderHibernateImpl

java.lang.Object
  extended by edu.utah.further.core.data.hibernate.query.QueryBuilderHibernateImpl
All Implemented Interfaces:
Builder<GenericCriteria>

@Implementation
public final class QueryBuilderHibernateImpl
extends Object
implements Builder<GenericCriteria>

Converts a composite SearchQuery object to a Hibernate GenericCriteria object. Note that this class is not thread-safe and must be synchronized externally.

-----------------------------------------------------------------------------------
(c) 2008-2011 FURTHeR Project, Health Sciences IT, University of Utah
Contact: Dr. Scott Narus <scott.narus@hsc.utah.edu>
Biomedical Informatics, 26 South 2000 East
Room 5775 HSEB, Salt Lake City, UT 84112
Day Phone: 1-801-213-3288
-----------------------------------------------------------------------------------

Version:
May 28, 2009
Author:
Oren E. Livne <oren.livne@utah.edu>, N. Dustin Schultz <dustin.schultz@utah.edu>

Method Summary
 GenericCriteria build()
          Convert abstract the search criteria to a Hibernate Criterion.
static GenericCriteria convert(CriteriaType criteriaType, Class<? extends PersistentEntity<?>> domainClass, org.hibernate.SessionFactory sessionFactory, SearchQuery searchQuery)
          Convert a search query to Hibernate criteria.
static GenericCriteria convertWithCoreDataSessionFactory(CriteriaType criteriaType, Class<? extends PersistentEntity<?>> domainClass, SearchQuery searchQuery)
          Convert a search query to Hibernate criteria.
 QueryBuilderHibernateImpl distinct(boolean distinct)
          Sets whether the Hibernate GenericCriteria should return distinct results or not.
static QueryBuilderHibernateImpl newInstance(CriteriaType criteriaType, Class<? extends PersistentEntity<?>> domainClass, org.hibernate.SessionFactory sessionFactory)
          Return a Hibernate criteria instance.
static QueryBuilderHibernateImpl newInstanceWithCoreDataSessionFactory(CriteriaType criteriaType, Class<? extends PersistentEntity<?>> domainClass)
          Return a Hibernate criteria instance.
 QueryBuilderHibernateImpl setQuery(SearchQuery aSearchQuery)
          Add abstract search criteria to the Hibernate destination criteria.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newInstanceWithCoreDataSessionFactory

public static QueryBuilderHibernateImpl newInstanceWithCoreDataSessionFactory(CriteriaType criteriaType,
                                                                              Class<? extends PersistentEntity<?>> domainClass)
Return a Hibernate criteria instance. Use the default session factory of the core-data module.

Parameters:
criteriaType - criteria type (main criteria/detached criteria=sub-criteria)
domainClass - root entity type
searchQuery - search query to convert

newInstance

public static QueryBuilderHibernateImpl newInstance(CriteriaType criteriaType,
                                                    Class<? extends PersistentEntity<?>> domainClass,
                                                    org.hibernate.SessionFactory sessionFactory)
Return a Hibernate criteria instance.

Parameters:
criteriaType - criteria type (main criteria/detached criteria=sub-criteria)
domainClass - root entity type
sessionFactory - session factory to bind to

convertWithCoreDataSessionFactory

public static GenericCriteria convertWithCoreDataSessionFactory(CriteriaType criteriaType,
                                                                Class<? extends PersistentEntity<?>> domainClass,
                                                                SearchQuery searchQuery)
Convert a search query to Hibernate criteria. Use the default session factory of the core-data module.

Parameters:
criteriaType - criteria type (main criteria/detached criteria=sub-criteria)
domainClass - root entity type
searchQuery - search query to convert

convert

public static GenericCriteria convert(CriteriaType criteriaType,
                                      Class<? extends PersistentEntity<?>> domainClass,
                                      org.hibernate.SessionFactory sessionFactory,
                                      SearchQuery searchQuery)
Convert a search query to Hibernate criteria.

Parameters:
criteriaType - criteria type (main criteria/detached criteria=sub-criteria)
domainClass - root entity type
sessionFactory - session factory to bind to
searchQuery - search query to convert

build

public GenericCriteria build()
Convert abstract the search criteria to a Hibernate Criterion.

Specified by:
build in interface Builder<GenericCriteria>
Returns:
root entity Hibernate Criterion destination object
See Also:
Builder.build()

setQuery

public QueryBuilderHibernateImpl setQuery(SearchQuery aSearchQuery)
Add abstract search criteria to the Hibernate destination criteria.

Parameters:
aSearchQuery - input set of search criteria
Returns:
this, for method chaining

distinct

public QueryBuilderHibernateImpl distinct(boolean distinct)
Sets whether the Hibernate GenericCriteria should return distinct results or not. This distinct is done programmatically versus database distinct. The distinct is based on the root entity.

Parameters:
distinct - A flag indicating whether or not return distinct results programmatically
Returns:
this, for method chaining


Copyright © 2011 Office of the AVP for Health Sci. IT. All Rights Reserved.