org.shept.persistence.provider.hibernate
Interface HibernateCriteriaDefinition

All Superinterfaces:
FilterDefinition
All Known Implementing Classes:
HibernateCriteriaFilter

public interface HibernateCriteriaDefinition
extends FilterDefinition

The HibernateCriteriaDefinition interface is very flexible way to create extensible FilterDefinitions. Its typical usage is to support FilterDefinition in a search filter user interface. This is an example implementation to search for User Logins:

public DetachedCriteria getCriteria(SortDefinition sortDefinition) {
DetachedCriteria crit = DetachedCriteria.forClass(LoginLog.class);

if (StringUtils.hasText(getUserName())) {
crit.add(Restrictions.eq("userName", getUserName()));
}

if (StringUtils.hasText(getRemoteAddr())) {
crit.add(Restrictions.eq("remoteAddr", getRemoteAddr()));
}

if (getBsuccess() != null) {
crit.add(Restrictions.eq("bsuccess", getBsuccess()));
}

if (getBlogoutMissing()) {
crit.add(Restrictions.isNull("dateLogout"));
}

if (getDateFrom() != null) {
crit.add(Restrictions.gt("dateLogin", getDateFrom()));
}

if (getDateTill() != null) {
Calendar till = Calendar.getInstance();
till.setTime(getDateTill().getTime());
till.add(Calendar.DAY_OF_YEAR, 1);
crit.add(Restrictions.lt("dateLogin", getDateTill()));
}

if (getUserAgentId() != null) {
crit.add(Restrictions.eq("agentId", getUserAgentId()));
}

// set the default sorting if no sorting is specified
if (sortDefinition != null && ! StringUtils.hasText(sortDefinition.getProperty())) {
BeanUtils.copyProperties(getDefaultSort(), sortDefinition);
}

// set sort criteria from FormFilter
if (null != sortDefinition && StringUtils.hasText(sortDefinition.getProperty())) {
if (sortDefinition.isAscending())
crit.addOrder(Order.asc(sortDefinition.getProperty()));
else
crit.addOrder(Order.desc(sortDefinition.getProperty()));
}

return crit;
}

Version:
$Rev: 34 $
Author:
Andi

Method Summary
 org.hibernate.criterion.DetachedCriteria getCriteria(org.springframework.beans.support.SortDefinition sortDefinition)
           
 
Methods inherited from interface org.shept.beans.support.FilterDefinition
getNewModelTemplate
 

Method Detail

getCriteria

org.hibernate.criterion.DetachedCriteria getCriteria(org.springframework.beans.support.SortDefinition sortDefinition)


Copyright © 2011. All Rights Reserved.