/** * * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see <http://www.gnu.org/licenses/>. * **/ package lucee.commons.io.res.util; import java.io.IOException; import java.nio.charset.Charset; import java.util.List; import lucee.commons.io.IOUtil; import lucee.commons.io.SystemUtil; import lucee.commons.io.res.Resource; import lucee.commons.io.res.ResourceProvider; import lucee.commons.io.res.ResourcesImpl; import lucee.commons.io.res.filter.ExtensionResourceFilter; import lucee.commons.io.res.filter.ResourceFilter; import lucee.commons.io.res.filter.ResourceNameFilter; import lucee.runtime.PageContext; import lucee.runtime.PageSource; import lucee.runtime.exp.PageException; import lucee.runtime.functions.system.ContractPath; public class ResourceUtilImpl implements lucee.runtime.util.ResourceUtil { private ResourceUtilImpl(){} private static ResourceUtilImpl impl=new ResourceUtilImpl(); public static ResourceUtilImpl getInstance() { return impl; } @Override public void checkCopyToOK(Resource source, Resource target) throws IOException { ResourceUtil.checkCopyToOK(source, target); } @Override public void checkCreateDirectoryOK(Resource resource,boolean createParentWhenNotExists) throws IOException { ResourceUtil.checkCreateDirectoryOK(resource, createParentWhenNotExists); } @Override public void checkCreateFileOK(Resource resource,boolean createParentWhenNotExists) throws IOException { ResourceUtil.checkCreateFileOK(resource, createParentWhenNotExists); } @Override public void checkGetInputStreamOK(Resource resource) throws IOException { ResourceUtil.checkGetInputStreamOK(resource); } @Override public void checkGetOutputStreamOK(Resource resource) throws IOException { ResourceUtil.checkGetOutputStreamOK(resource); } @Override public void checkMoveToOK(Resource source, Resource target)throws IOException { ResourceUtil.checkMoveToOK(source, target); } @Override public void checkRemoveOK(Resource resource) throws IOException { ResourceUtil.checkRemoveOK(resource); } @Override public void copyRecursive(Resource src, Resource trg) throws IOException { ResourceUtil.copyRecursive(src, trg); } @Override public void copyRecursive(Resource src, Resource trg, ResourceFilter filter) throws IOException { ResourceUtil.copyRecursive(src, trg,filter); } @Override public Resource createResource(Resource res, short level, short type) { return ResourceUtil.createResource(res, level, type); } @Override public String getExtension(Resource res) { return ResourceUtil.getExtension(res,null); } @Override public String getExtension(Resource res, String defaultValue) { return ResourceUtil.getExtension(res,defaultValue); } @Override public String getExtension(String strFile) { return ResourceUtil.getExtension(strFile,null); } @Override public String getExtension(String strFile, String defaultValue) { return ResourceUtil.getExtension(strFile,defaultValue); } @Override public String getMimeType(Resource res, String defaultValue) { return ResourceUtil.getMimeType(res, defaultValue); } @Override public String getMimeType(byte[] barr, String defaultValue) { return IOUtil.getMimeType(barr, defaultValue); } @Override public String getPathToChild(Resource file, Resource dir) { return ResourceUtil.getPathToChild(file, dir); } @Override public boolean isChildOf(Resource file, Resource dir) { return ResourceUtil.isChildOf(file, dir); } @Override public boolean isEmpty(Resource res) { return ResourceUtil.isEmpty(res); } @Override public boolean isEmptyDirectory(Resource res) { return ResourceUtil.isEmptyDirectory(res,null); } @Override public boolean isEmptyFile(Resource res) { return ResourceUtil.isEmptyFile(res); } @Override public String merge(String parent, String child) { return ResourceUtil.merge(parent, child); } @Override public void moveTo(Resource src, Resource dest) throws IOException { ResourceUtil.moveTo(src, dest,true); } @Override public void removeChildren(Resource res) throws IOException { ResourceUtil.removeChildren(res); } @Override public void removeChildren(Resource res, ResourceNameFilter filter)throws IOException { ResourceUtil.removeChildren(res, filter); } @Override public void removeChildren(Resource res, ResourceFilter filter) throws IOException { ResourceUtil.removeChildren(res, filter); } @Override public String removeScheme(String scheme, String path) { return ResourceUtil.removeScheme(scheme, path); } @Override public void setAttribute(Resource res, String attributes) throws IOException { ResourceUtil.setAttribute(res, attributes); } @Override public Resource toResourceExisting(PageContext pc, String path) throws PageException { return ResourceUtil.toResourceExisting(pc, path); } @Override public Resource toResourceExistingParent(PageContext pc, String destination)throws PageException { return ResourceUtil.toResourceExistingParent(pc, destination); } @Override public Resource toResourceNotExisting(PageContext pc, String destination) { return ResourceUtil.toResourceNotExisting(pc, destination); } @Override public String translatePath(String path, boolean slashAdBegin,boolean slashAddEnd) { return ResourceUtil.translatePath(path, slashAdBegin, slashAddEnd); } @Override public String[] translatePathName(String path) { return ResourceUtil.translatePathName(path); } @Override public String toString(Resource r, String charset) throws IOException { return IOUtil.toString(r, charset); } @Override public String toString(Resource r, Charset charset) throws IOException { return IOUtil.toString(r, charset); } @Override public String contractPath(PageContext pc, String path) { return ContractPath.call(pc, path); } @Override public Resource getHomeDirectory() { return SystemUtil.getHomeDirectory(); } @Override public Resource getSystemDirectory() { return SystemUtil.getSystemDirectory(); } @Override public Resource getTempDirectory() { return SystemUtil.getTempDirectory(); } @Override public String parsePlaceHolder(String path) { return SystemUtil.parsePlaceHolder(path); } @Override public ResourceFilter getExtensionResourceFilter(String extension, boolean allowDir) { return new ExtensionResourceFilter(extension,allowDir); } @Override public ResourceFilter getExtensionResourceFilter(String[] extensions, boolean allowDir) { return new ExtensionResourceFilter(extensions,allowDir); } @Override public lucee.commons.io.res.ContentType getContentType(Resource res) { return ResourceUtil.getContentType(res); } public lucee.commons.io.res.ContentType getContentType(Resource res, lucee.commons.io.res.ContentType defaultValue) { return ResourceUtil.getContentType(res,defaultValue); } @Override public Resource toResourceExistingParent(PageContext pc, String destination, boolean allowRealpath) throws PageException { return ResourceUtil.toResourceExistingParent(pc, destination, allowRealpath); } @Override public Resource toResourceNotExisting(PageContext pc, String destination, boolean allowRealpath, boolean checkComponentMappings) { return ResourceUtil.toResourceNotExisting(pc, destination, allowRealpath, checkComponentMappings); } @Override public boolean isUNCPath(String path) { return ResourceUtil.isUNCPath(path); } @Override public Resource toExactResource(Resource res) { return ResourceUtil.toExactResource(res); } @Override public String prettifyPath(String path) { return ResourceUtil.prettifyPath(path); } @Override public String getCanonicalPathSilent(Resource res) { return ResourceUtil.getCanonicalPathEL(res); } @Override public Resource getCanonicalResourceSilent(Resource res) { return ResourceUtil.getCanonicalResourceEL(res); } @Override public boolean createNewResourceSilent(Resource res) { return ResourceUtil.createNewResourceEL(res); } @Override public void touch(Resource res) throws IOException { ResourceUtil.touch(res); } @Override public void clear(Resource res) throws IOException { ResourceUtil.clear(res); } @Override public Resource changeExtension(Resource file, String newExtension) { return ResourceUtil.changeExtension(file, newExtension); } @Override public void deleteContent(Resource src, ResourceFilter filter) { ResourceUtil.deleteContent(src, filter); } @Override public void copy(Resource src, Resource trg) throws IOException { ResourceUtil.copy(src, trg); } @Override public void removeChildrenSilent(Resource res, ResourceNameFilter filter) { ResourceUtil.removeChildrenEL(res, filter); } @Override public void removeChildrenSilent(Resource res, ResourceFilter filter) { ResourceUtil.removeChildrenEL(res, filter); } @Override public void removeChildrenSilent(Resource res) { ResourceUtil.removeChildrenEL(res); } @Override public void removeSilent(Resource res, boolean force) { ResourceUtil.removeEL(res, force); } @Override public void createFileSilent(Resource res, boolean force) { ResourceUtil.createFileEL(res, force); } @Override public void createDirectorySilent(Resource res, boolean force) { ResourceUtil.createDirectoryEL(res, force); } @Override public long getRealSize(Resource res, ResourceFilter filter) { return ResourceUtil.getRealSize(res, filter); } @Override public int getChildCount(Resource res, ResourceFilter filter) { return ResourceUtil.getChildCount(res, filter); } @Override public boolean isEmptyDirectory(Resource res, ResourceFilter filter) { return ResourceUtil.isEmptyDirectory(res, filter); } @Override public void deleteEmptyFolders(Resource res) throws IOException { ResourceUtil.deleteEmptyFolders(res); } @Override public Resource getResource(PageContext pc, PageSource ps, Resource defaultValue) { return ResourceUtil.getResource(pc, ps, defaultValue); } @Override public int directrySize(Resource dir, ResourceFilter filter) { return ResourceUtil.directrySize(dir, filter); } @Override public int directrySize(Resource dir, ResourceNameFilter filter) { return ResourceUtil.directrySize(dir, filter); } @Override public String[] names(Resource[] resources) { return ResourceUtil.names(resources); } @Override public Resource[] merge(Resource[] srcs, Resource... trgs) { return ResourceUtil.merge(srcs, trgs); } @Override public void removeEmptyFolders(Resource dir) throws IOException { ResourceUtil.removeEmptyFolders(dir,null); } @Override public List<Resource> listRecursive(Resource res, ResourceFilter filter) { return ResourceUtil.listRecursive(res, filter); } @Override public char getSeparator(ResourceProvider rp) { return ResourceUtil.getSeparator(rp); } @Override public ResourceProvider getFileResourceProvider() { return ResourcesImpl.getFileResourceProvider(); } }