FileDocCategorySizeDatePackage
ANSICaseFragment.javaAPI DocHibernate 3.2.5842Wed Dec 01 22:09:50 GMT 2004org.hibernate.sql

ANSICaseFragment

public class ANSICaseFragment extends CaseFragment
An ANSI SQL CASE expression.
case when ... then ... end as ...
author
Gavin King, Simon Harris

Fields Summary
Constructors Summary
Methods Summary
public java.lang.StringtoFragmentString()

		
		StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 )
			.append("case");

		Iterator iter = cases.entrySet().iterator();
		while ( iter.hasNext() ) {
			Map.Entry me = (Map.Entry) iter.next();
			buf.append(" when ")
				.append( me.getKey() )
				.append(" is not null then ")
				.append( me.getValue() );
		}
		
		buf.append(" end");

		if (returnColumnName!=null) {
			buf.append(" as ")
				.append(returnColumnName);
		}

		return buf.toString();