001 package railo.runtime.functions.file; 002 003 import railo.commons.io.res.ResourceProvider; 004 import railo.runtime.PageContext; 005 import railo.runtime.exp.PageException; 006 import railo.runtime.type.Struct; 007 import railo.runtime.type.StructImpl; 008 009 public class GetVFSMetaData { 010 public static Struct call(PageContext pc, String scheme) throws PageException { 011 ResourceProvider[] providers = pc.getConfig().getResourceProviders(); 012 ResourceProvider provider; 013 scheme=scheme.trim(); 014 Struct sct=new StructImpl(); 015 for(int i=0;i<providers.length;i++){ 016 provider=providers[i]; 017 if(provider.getScheme().equalsIgnoreCase(scheme)){ 018 //MUST sct=provider.getMetaData(); 019 sct.setEL("Scheme", provider.getScheme()); 020 sct.setEL("Attributes", provider.isAttributesSupported()); 021 sct.setEL("CaseSensitive", provider.isCaseSensitive()); 022 sct.setEL("Mode", provider.isModeSupported()); 023 024 sct.setEL("Enabled", Boolean.TRUE); 025 return sct; 026 } 027 } 028 sct.setEL("Enabled", Boolean.FALSE); 029 return sct; 030 } 031 032 }