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