📄 ansicasefragment.java
字号:
//$Id: ANSICaseFragment.java,v 1.4.2.3 2003/11/27 16:10:00 oneovthafew Exp $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;/** An ANSI SQL CASE expression. <br> <code>case when ... then ... end as ...</code> <br> @author Gavin King, Simon Harris */public class ANSICaseFragment extends 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( new Alias(suffix).toAliasString(returnColumnName) ); } public CaseFragment addWhenColumnNotNull(String alias, String columnName, String value) { cases.put( StringHelper.qualify(alias, 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() ); } buf.append(" end"); if (returnColumnName!=null) { buf.append(" as ") .append(returnColumnName); } return buf.toString(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -