001 /** 002 * Implements the CFML Function listsort 003 */ 004 package railo.runtime.functions.list; 005 006 007 import railo.runtime.PageContext; 008 import railo.runtime.exp.PageException; 009 import railo.runtime.ext.function.Function; 010 import railo.runtime.type.util.ListUtil; 011 012 public final class ListSort implements Function { 013 014 private static final long serialVersionUID = -1153055612742304078L; 015 016 public static String call(PageContext pc , String list, String sortType) throws PageException { 017 return call(pc,list,sortType,"asc",",",false); 018 } 019 public static String call(PageContext pc , String list, String sortType, String sortOrder) throws PageException { 020 return call(pc,list,sortType,sortOrder,",",false); 021 } 022 public static String call(PageContext pc , String list, String sortType, String sortOrder, String delimiter) throws PageException { 023 return call(pc,list,sortType,sortOrder,delimiter,false); 024 } 025 public static String call(PageContext pc , String list, String sortType, String sortOrder, String delimiter , boolean includeEmptyFields) throws PageException { 026 if(includeEmptyFields) return ListUtil.sort(list,sortType, sortOrder,delimiter); 027 return ListUtil.sortIgnoreEmpty(ListUtil.trim(list,delimiter),sortType, sortOrder,delimiter); 028 } 029 }