public String getOrderByClause(Map <String, String> selectClauseRealColumnAliasMap) { if (_orderByList.isEmpty()) { return(""); } StringBuilder sb = new StringBuilder(); String delimiter = ", "; for (Iterator <OrderByElement> ite = _orderByList.iterator(); ite.hasNext();) { OrderByElement element = ite.next(); sb.append(delimiter); if (selectClauseRealColumnAliasMap != null) { sb.append(element.getElementClause(selectClauseRealColumnAliasMap)); } else { sb.append(element.getElementClause()); } } sb.delete(0, delimiter.Length).insert(0, "order by "); return(sb.toString()); }
public void addNullsLastToPreviousOrderByElement(OrderByNullsSetupper filter) { if (_orderByList.isEmpty()) { return; } OrderByElement last = _orderByList.get(_orderByList.size() - 1); last.setOrderByNullsSetupper(filter, false); }
public void exchangeFirstOrderByElementForLastOne() { if (_orderByList.size() > 1) { OrderByElement first = _orderByList.get(0); OrderByElement last = _orderByList.get(_orderByList.size() - 1); _orderByList.set(0, last); _orderByList.set(_orderByList.size() - 1, first); } }
public String GetFirstElementColumnFullName() { if (isEmpty()) { String msg = "This order-by clause is empty: " + ToString(); throw new IllegalStateException(msg); } OrderByElement element = (OrderByElement)_orderByList.get(0); return(element.getColumnFullName()); }
public bool isFirstElementAsc() { if (isEmpty()) { String msg = "This order-by clause is empty: " + ToString(); throw new IllegalStateException(msg); } OrderByElement element = (OrderByElement)_orderByList.get(0); return(element.isAsc()); }
public bool isSameAsFirstElementRegisteredColumnName(String expectedRegisteredColumnName) { if (isEmpty()) { String msg = "This order-by clause is empty: " + ToString(); throw new IllegalStateException(msg); } OrderByElement element = (OrderByElement)_orderByList.get(0); String actualRegisteredColumnName = element.getRegisteredColumnName(); if (actualRegisteredColumnName != null && expectedRegisteredColumnName != null) { return(actualRegisteredColumnName.Equals(expectedRegisteredColumnName)); } else { return(false); } }
public bool isSameOrderByColumn(String columnFullName) { String[] columnFullNameArray = columnFullName.Split('/'); if (_orderByList.size() != columnFullNameArray.Length) { return(false); } int count = 0; foreach (String columnFullNameElement in columnFullNameArray) { OrderByElement element = (OrderByElement)_orderByList.get(count); if (!element.getColumnFullName().ToLower().Equals(columnFullNameElement.ToLower())) { return(false); } count++; } return(true); }
// =================================================================================== // Main Method // =========== public void addOrderByElement(OrderByElement value) { _orderByList.add(value); }