⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daterange.java

📁 这是一个轻便的j2ee的web应用框架,是一个在多个项目中运用的实际框架,采用struts,hebinate,xml等技术,有丰富的tag,role,navigation,session,dictio
💻 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 + -