001 package railo.commons.io.res.util; 002 003 import java.io.IOException; 004 005 import railo.commons.io.IOUtil; 006 import railo.commons.io.res.Resource; 007 import railo.commons.io.res.filter.ResourceFilter; 008 import railo.commons.io.res.filter.ResourceNameFilter; 009 import railo.runtime.PageContext; 010 import railo.runtime.exp.PageException; 011 import railo.runtime.functions.system.ContractPath; 012 013 public class ResourceUtilImpl implements railo.runtime.util.ResourceUtil { 014 015 private ResourceUtilImpl(){} 016 private static ResourceUtilImpl impl=new ResourceUtilImpl(); 017 018 019 public static ResourceUtilImpl getInstance() { 020 return impl; 021 } 022 023 @Override 024 public void checkCopyToOK(Resource source, Resource target) throws IOException { 025 ResourceUtil.checkCopyToOK(source, target); 026 } 027 028 @Override 029 public void checkCreateDirectoryOK(Resource resource,boolean createParentWhenNotExists) throws IOException { 030 ResourceUtil.checkCreateDirectoryOK(resource, createParentWhenNotExists); 031 } 032 033 @Override 034 public void checkCreateFileOK(Resource resource,boolean createParentWhenNotExists) throws IOException { 035 ResourceUtil.checkCreateFileOK(resource, createParentWhenNotExists); 036 } 037 038 @Override 039 public void checkGetInputStreamOK(Resource resource) throws IOException { 040 ResourceUtil.checkGetInputStreamOK(resource); 041 } 042 043 @Override 044 public void checkGetOutputStreamOK(Resource resource) throws IOException { 045 ResourceUtil.checkGetOutputStreamOK(resource); 046 } 047 048 @Override 049 public void checkMoveToOK(Resource source, Resource target)throws IOException { 050 ResourceUtil.checkMoveToOK(source, target); 051 } 052 053 @Override 054 public void checkRemoveOK(Resource resource) throws IOException { 055 ResourceUtil.checkRemoveOK(resource); 056 } 057 058 @Override 059 public void copyRecursive(Resource src, Resource trg) throws IOException { 060 ResourceUtil.copyRecursive(src, trg); 061 } 062 063 @Override 064 public void copyRecursive(Resource src, Resource trg, ResourceFilter filter) throws IOException { 065 ResourceUtil.copyRecursive(src, trg,filter); 066 } 067 068 @Override 069 public Resource createResource(Resource res, short level, short type) { 070 return ResourceUtil.createResource(res, level, type); 071 } 072 073 @Override 074 public String getExtension(Resource res) { 075 return ResourceUtil.getExtension(res,null); 076 } 077 078 @Override 079 public String getExtension(Resource res, String defaultValue) { 080 return ResourceUtil.getExtension(res,defaultValue); 081 } 082 083 @Override 084 public String getExtension(String strFile) { 085 return ResourceUtil.getExtension(strFile,null); 086 } 087 088 @Override 089 public String getExtension(String strFile, String defaultValue) { 090 return ResourceUtil.getExtension(strFile,defaultValue); 091 } 092 093 @Override 094 public String getMimeType(Resource res, String defaultValue) { 095 return ResourceUtil.getMimeType(res, defaultValue); 096 } 097 098 @Override 099 public String getMimeType(byte[] barr, String defaultValue) { 100 return IOUtil.getMimeType(barr, defaultValue); 101 } 102 103 @Override 104 public String getPathToChild(Resource file, Resource dir) { 105 return ResourceUtil.getPathToChild(file, dir); 106 } 107 108 @Override 109 public boolean isChildOf(Resource file, Resource dir) { 110 return ResourceUtil.isChildOf(file, dir); 111 } 112 113 @Override 114 public boolean isEmpty(Resource res) { 115 return ResourceUtil.isEmpty(res); 116 } 117 118 @Override 119 public boolean isEmptyDirectory(Resource res) { 120 return ResourceUtil.isEmptyDirectory(res); 121 } 122 123 @Override 124 public boolean isEmptyFile(Resource res) { 125 return ResourceUtil.isEmptyFile(res); 126 } 127 128 @Override 129 public String merge(String parent, String child) { 130 return ResourceUtil.merge(parent, child); 131 } 132 133 @Override 134 public void moveTo(Resource src, Resource dest) throws IOException { 135 ResourceUtil.moveTo(src, dest); 136 } 137 138 @Override 139 public void removeChildren(Resource res) throws IOException { 140 ResourceUtil.removeChildren(res); 141 } 142 143 @Override 144 public void removeChildren(Resource res, ResourceNameFilter filter)throws IOException { 145 ResourceUtil.removeChildren(res, filter); 146 } 147 148 @Override 149 public void removeChildren(Resource res, ResourceFilter filter) throws IOException { 150 ResourceUtil.removeChildren(res, filter); 151 } 152 153 @Override 154 public String removeScheme(String scheme, String path) { 155 return ResourceUtil.removeScheme(scheme, path); 156 } 157 158 @Override 159 public void setAttribute(Resource res, String attributes) throws IOException { 160 ResourceUtil.setAttribute(res, attributes); 161 } 162 163 @Override 164 public Resource toResourceExisting(PageContext pc, String path) throws PageException { 165 return ResourceUtil.toResourceExisting(pc, path); 166 } 167 168 @Override 169 public Resource toResourceExistingParent(PageContext pc, String destination)throws PageException { 170 return ResourceUtil.toResourceExistingParent(pc, destination); 171 } 172 173 @Override 174 public Resource toResourceNotExisting(PageContext pc, String destination) { 175 return ResourceUtil.toResourceNotExisting(pc, destination); 176 } 177 178 @Override 179 public String translatePath(String path, boolean slashAdBegin,boolean slashAddEnd) { 180 return ResourceUtil.translatePath(path, slashAdBegin, slashAddEnd); 181 } 182 183 @Override 184 public String[] translatePathName(String path) { 185 return ResourceUtil.translatePathName(path); 186 } 187 188 public String toString(Resource r, String charset) throws IOException { 189 return IOUtil.toString(r, charset); 190 } 191 192 @Override 193 public String contractPath(PageContext pc, String path) { 194 return ContractPath.call(pc, path); 195 } 196 }