org.nakedobjects.plugins.hibernate.objectstore.metamodel.criteria
Class HibernateFactoryAndRepository

java.lang.Object
  extended by org.nakedobjects.applib.AbstractContainedObject
      extended by org.nakedobjects.applib.AbstractService
          extended by org.nakedobjects.applib.AbstractFactoryAndRepository
              extended by org.nakedobjects.plugins.hibernate.objectstore.metamodel.criteria.HibernateFactoryAndRepository

public abstract class HibernateFactoryAndRepository
extends AbstractFactoryAndRepository


Constructor Summary
HibernateFactoryAndRepository()
           
 
Method Summary
protected  boolean countNotZero(org.hibernate.Query query)
          Return true if the Query returns an integer > 0.
protected  org.hibernate.Query createCountQuery(java.lang.String whereClause, java.lang.Class<?> cls)
          A shortcut for creating a count(*) Query on the class for this repository.
protected  org.hibernate.Criteria createCriteria(java.lang.Class<?> cls)
          Create a Hibernate Criteria for the class persisted by this repository
protected  org.hibernate.Query createEntityQuery(java.lang.String whereClause, java.lang.Class<?> cls)
          A shortcut for creating a Query on the class for this repository.
protected  org.hibernate.Query createQuery(java.lang.String query)
          Create a Hibernate Query using a complete query string.
protected  java.util.List<?> findByCriteria(org.hibernate.Criteria criteria, java.lang.Class<?> cls)
           
protected  java.util.List<?> findByCriteria(HibernateInstancesCriteria criteria, java.lang.Class<?> cls)
           
protected  java.util.List<?> findByQuery(org.hibernate.Query query, java.lang.Class<?> cls)
           
protected  java.util.List<?> findByQuery(java.lang.String query, java.lang.Class<?> cls)
           
protected  java.lang.Object findFirstByCriteria(org.hibernate.Criteria criteria, java.lang.Class<?> cls)
           
protected  java.lang.Object findFirstByQuery(org.hibernate.Query query, java.lang.Class<?> cls)
           
protected  java.lang.Object findFirstByQuery(java.lang.String query, java.lang.Class<?> cls)
           
protected  java.lang.Object findUniqueResultByCriteria(org.hibernate.Criteria criteria, java.lang.Class<?> cls)
           
protected  java.lang.Object findUniqueResultByQuery(org.hibernate.Query query, java.lang.Class<?> cls)
           
protected  java.lang.Object getFirst(java.util.List<?> list)
          Return the first object in a list.
protected  org.hibernate.Query getNamedQuery(java.lang.String name)
          Return a named Hibernate Query which is defined in hibernate.cfg.xml.
 
Methods inherited from class org.nakedobjects.applib.AbstractFactoryAndRepository
newInstance, newPersistentInstance
 
Methods inherited from class org.nakedobjects.applib.AbstractService
getClassName, getId
 
Methods inherited from class org.nakedobjects.applib.AbstractContainedObject
allInstances, allMatches, allMatches, allMatches, allMatches, firstMatch, firstMatch, firstMatch, firstMatch, getContainer, getUser, informUser, isPersistent, isValid, newTransientInstance, persist, persistentIfNotAlready, raiseError, remove, setContainer, uniqueMatch, uniqueMatch, uniqueMatch, uniqueMatch, validate, warnUser
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HibernateFactoryAndRepository

public HibernateFactoryAndRepository()
Method Detail

createCriteria

protected org.hibernate.Criteria createCriteria(java.lang.Class<?> cls)
Create a Hibernate Criteria for the class persisted by this repository


createQuery

protected org.hibernate.Query createQuery(java.lang.String query)
Create a Hibernate Query using a complete query string. This can be used to query any entity.


getNamedQuery

protected org.hibernate.Query getNamedQuery(java.lang.String name)
Return a named Hibernate Query which is defined in hibernate.cfg.xml.

Parameters:
name - the Query name

createCountQuery

protected org.hibernate.Query createCountQuery(java.lang.String whereClause,
                                               java.lang.Class<?> cls)
A shortcut for creating a count(*) Query on the class for this repository. The query generated is
 select count(*) from <cls> as o {where <whereClause>}
 
The whereClause is optional.

To generate more complex queries, possibly using other classes, use the createQuery(String)} method

Parameters:
whereClause - the where clause, not including "where", or null to count all instances.

createEntityQuery

protected org.hibernate.Query createEntityQuery(java.lang.String whereClause,
                                                java.lang.Class<?> cls)
A shortcut for creating a Query on the class for this repository. The query generated is
 from <cls> as o where <whereClause>
 
The whereClause must be specified, to select all instances use #allInstances().

To generate more complex queries, possibly using other classes, use createQuery(String)}.

Parameters:
whereClause - the where clause, not including "where"

findByCriteria

protected java.util.List<?> findByCriteria(org.hibernate.Criteria criteria,
                                           java.lang.Class<?> cls)

findUniqueResultByCriteria

protected java.lang.Object findUniqueResultByCriteria(org.hibernate.Criteria criteria,
                                                      java.lang.Class<?> cls)

findUniqueResultByQuery

protected java.lang.Object findUniqueResultByQuery(org.hibernate.Query query,
                                                   java.lang.Class<?> cls)

findFirstByCriteria

protected java.lang.Object findFirstByCriteria(org.hibernate.Criteria criteria,
                                               java.lang.Class<?> cls)

findByQuery

protected java.util.List<?> findByQuery(org.hibernate.Query query,
                                        java.lang.Class<?> cls)

findFirstByQuery

protected java.lang.Object findFirstByQuery(org.hibernate.Query query,
                                            java.lang.Class<?> cls)

findByQuery

protected java.util.List<?> findByQuery(java.lang.String query,
                                        java.lang.Class<?> cls)

findFirstByQuery

protected java.lang.Object findFirstByQuery(java.lang.String query,
                                            java.lang.Class<?> cls)

getFirst

protected java.lang.Object getFirst(java.util.List<?> list)
Return the first object in a list. If the array is null, or is empty, then return null.


countNotZero

protected boolean countNotZero(org.hibernate.Query query)
Return true if the Query returns an integer > 0. The Query MUST return a single value, which must be an integer, e.g. "select count(*) from myClass". This is a utility method to help with common repository usage.


findByCriteria

protected java.util.List<?> findByCriteria(HibernateInstancesCriteria criteria,
                                           java.lang.Class<?> cls)


Copyright © 2001-2009 Naked Objects Group Ltd.. All Rights Reserved.