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)
|
getCriteria
org.hibernate.criterion.DetachedCriteria getCriteria(org.springframework.beans.support.SortDefinition sortDefinition)
Copyright © 2011. All Rights Reserved.