001 package railo.runtime.functions.file; 002 003 import railo.commons.io.res.Resource; 004 import railo.commons.io.res.util.ResourceAndResourceNameFilter; 005 import railo.commons.io.res.util.ResourceUtil; 006 import railo.commons.lang.StringUtil; 007 import railo.runtime.PageContext; 008 import railo.runtime.exp.PageException; 009 import railo.runtime.tag.Directory; 010 011 public class DirectoryList { 012 013 public static Object call(PageContext pc , String path) throws PageException { 014 return call(pc, path, false, null, null, null); 015 } 016 017 public static Object call(PageContext pc , String path,boolean recurse) throws PageException { 018 return call(pc, path, recurse, null, null, null); 019 } 020 021 public static Object call(PageContext pc , String path,boolean recurse,String strListInfo) throws PageException { 022 return call(pc, path, recurse, strListInfo, null, null); 023 } 024 025 public static Object call(PageContext pc , String path,boolean recurse,String strListInfo,Object oFilter) throws PageException { 026 return call(pc, path, recurse, strListInfo, oFilter, null); 027 } 028 029 public static Object call(PageContext pc , String path,boolean recurse,String strListInfo,Object oFilter, String sort) throws PageException { 030 Resource dir=ResourceUtil.toResourceNotExisting(pc, path,pc.getConfig().allowRealPath()); 031 ResourceAndResourceNameFilter filter = Directory.createFilter(oFilter); 032 033 int listInfo=Directory.LIST_INFO_ARRAY_PATH; 034 if(!StringUtil.isEmpty(strListInfo,true)){ 035 strListInfo=strListInfo.trim().toLowerCase(); 036 if("name".equalsIgnoreCase(strListInfo)){ 037 listInfo=Directory.LIST_INFO_ARRAY_NAME; 038 } 039 else if("query".equalsIgnoreCase(strListInfo)){ 040 listInfo=Directory.LIST_INFO_QUERY_ALL; 041 } 042 } 043 044 return Directory.actionList(pc, dir, null, Directory.TYPE_ALL, filter, filter, listInfo, recurse, sort); 045 046 047 //public static Object actionList(PageContext pageContext,Resource directory, String serverPassword, int type,ResourceFilter filter,ResourceAndResourceNameFilter nameFilter, 048 // int listInfo,boolean recurse,String sort) throws PageException { 049 050 } 051 }