📄 daterange.java
字号:
/*
* Created on 2004-3-23
*
*/
package com.esimple.framework.dao.support;
import java.util.ArrayList;
import com.esimple.framework.util.ConvertException;
import com.esimple.framework.util.TimeHelper;
import net.sf.hibernate.Criteria;
import net.sf.hibernate.expression.Expression;
/**
* @author steven
*
*/
public class DateRange {
public static final String BEGIN_DATE ="beginDate";
public static final String END_DATE ="endDate";
public static final String DATE_COLUMN ="dateColumn";
private ArrayList ranges = new ArrayList();
public DateRange(java.sql.Date beginDate,
java.sql.Date endDate,
String dateColumnName){
addDataRange(beginDate,endDate,dateColumnName);
}
public DateRange(
String beginDate,
String endDate,
String dateColumnName)
throws ConvertException{
addDataRange(beginDate,endDate,dateColumnName);
}
public void addDataRange(java.sql.Date beginDate,
java.sql.Date endDate,
String dateColumnName){
ranges.add( new SingleDateRange(beginDate,endDate,dateColumnName));
}
public void addDataRange(
String beginDate,
String endDate,
String dateColumnName)
throws ConvertException{
ranges.add( new SingleDateRange(
TimeHelper.getSqlDate(beginDate),
TimeHelper.getSqlDate(endDate),
dateColumnName));
}
public void addDataRange(
String beginDate,
String endDate,
String dateColumnName,
String dateFormat)
throws ConvertException{
ranges.add( new SingleDateRange(
TimeHelper.getSqlDate(beginDate,dateFormat),
TimeHelper.getSqlDate(endDate,dateFormat),
dateColumnName));
}
public void addToCriteria(Criteria criteria){
for( int i =0 ;i< ranges.size();i++){
SingleDateRange single = (SingleDateRange)ranges.get(i);
if( single.getBeginDate() != null
&& single.getDateColumnName()!=null ){
criteria.add(
Expression.ge(
single.getDateColumnName(),
single.getBeginDate()
)
);
}
if( single.getEndDate() != null
&& single.getDateColumnName()!=null ){
criteria.add(
Expression.le(
single.getDateColumnName(),
single.getEndDate()
)
);
}
}
}
private class SingleDateRange {
private java.sql.Date beginDate;
private java.sql.Date endDate;
private String dateColumnName;
public SingleDateRange(java.sql.Date beginDate,
java.sql.Date endDate,
String dateColumnName
){
this.beginDate = beginDate;
this.endDate = endDate;
this.dateColumnName = dateColumnName;
}
public void setBeginDate(java.sql.Date beginDate){
this.beginDate = beginDate;
}
public java.sql.Date getBeginDate(){
return this.beginDate;
}
public void setEndDate(java.sql.Date endDate){
this.endDate = endDate;
}
public java.sql.Date getEndDate(){
return this.endDate;
}
public void setDateColumnName(String dateColumnName){
this.dateColumnName = dateColumnName;
}
public String getDateColumnName(){
return this.dateColumnName;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -