From: <one...@us...> - 2003-02-01 12:22:38
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql In directory sc8-pr-cvs1:/tmp/cvs-serv29855/src/net/sf/hibernate/sql Modified Files: CaseFragment.java Log Message: applied decode support patch by Simon Harris Index: CaseFragment.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/sql/CaseFragment.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CaseFragment.java 20 Jan 2003 18:45:18 -0000 1.1 --- CaseFragment.java 1 Feb 2003 12:22:35 -0000 1.2 *************** *** 1,48 **** //$Id$ ! package net.sf.hibernate.sql; ! ! import java.util.Iterator; ! import java.util.Map; ! ! import net.sf.hibernate.util.StringHelper; ! ! import org.apache.commons.collections.SequencedHashMap; ! /** * Represents an SQL <tt>case when .... then .... end as ...</tt> */ ! public class CaseFragment { ! private String returnColumnName; ! private Map cases = new SequencedHashMap(); ! ! public CaseFragment setReturnColumnName(String returnColumnName) { ! this.returnColumnName = returnColumnName; ! return this; ! } ! ! public CaseFragment setReturnColumnName(String returnColumnName, String suffix) { ! return setReturnColumnName( StringHelper.suffix(returnColumnName, suffix) ); ! } ! ! public CaseFragment addWhenColumnNotNull(String alias, String columnName, String value) { ! cases.put( alias + StringHelper.DOT + columnName + " is not null", value ); ! return this; ! } ! ! public String toFragmentString() { ! StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 ); ! buf.append("case"); ! Iterator iter = cases.entrySet().iterator(); ! while ( iter.hasNext() ) { ! Map.Entry me = (Map.Entry) iter.next(); ! buf.append(" when ") ! .append( me.getKey() ) ! .append(" then ") ! .append( me.getValue() ); ! } ! return buf.append(" end as ") ! .append(returnColumnName) ! .toString(); ! ! } ! } --- 1,11 ---- //$Id$ ! package net.sf.hibernate.sql; /** * Represents an SQL <tt>case when .... then .... end as ...</tt> */ ! public abstract class CaseFragment { ! public abstract CaseFragment setReturnColumnName(String returnColumnName); ! public abstract CaseFragment setReturnColumnName(String returnColumnName, String suffix); ! public abstract CaseFragment addWhenColumnNotNull(String alias, String columnName, String value); ! public abstract String toFragmentString(); ! } |