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();
! }
|