001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.commons.vfs2.impl; 018 019import java.net.URL; 020import java.util.Iterator; 021import java.util.List; 022 023import org.apache.commons.vfs2.FileContent; 024import org.apache.commons.vfs2.FileName; 025import org.apache.commons.vfs2.FileObject; 026import org.apache.commons.vfs2.FileSelector; 027import org.apache.commons.vfs2.FileSystem; 028import org.apache.commons.vfs2.FileSystemException; 029import org.apache.commons.vfs2.FileType; 030import org.apache.commons.vfs2.NameScope; 031import org.apache.commons.vfs2.operations.FileOperations; 032 033/** 034 * Base class to build a fileObject decoration. 035 */ 036public class DecoratedFileObject implements FileObject { 037 private final FileObject decoratedFileObject; 038 039 public DecoratedFileObject(final FileObject decoratedFileObject) { 040 super(); 041 this.decoratedFileObject = decoratedFileObject; 042 } 043 044 @Override 045 public boolean canRenameTo(final FileObject newfile) { 046 return decoratedFileObject.canRenameTo(newfile); 047 } 048 049 @Override 050 public void close() throws FileSystemException { 051 decoratedFileObject.close(); 052 } 053 054 @Override 055 public int compareTo(final FileObject fo) { 056 return decoratedFileObject.compareTo(fo); 057 } 058 059 @Override 060 public void copyFrom(final FileObject srcFile, final FileSelector selector) throws FileSystemException { 061 decoratedFileObject.copyFrom(srcFile, selector); 062 } 063 064 @Override 065 public void createFile() throws FileSystemException { 066 decoratedFileObject.createFile(); 067 } 068 069 @Override 070 public void createFolder() throws FileSystemException { 071 decoratedFileObject.createFolder(); 072 } 073 074 @Override 075 public boolean delete() throws FileSystemException { 076 return decoratedFileObject.delete(); 077 } 078 079 @Override 080 public int delete(final FileSelector selector) throws FileSystemException { 081 return decoratedFileObject.delete(selector); 082 } 083 084 @Override 085 public int deleteAll() throws FileSystemException { 086 return decoratedFileObject.deleteAll(); 087 } 088 089 @Override 090 public boolean exists() throws FileSystemException { 091 return decoratedFileObject.exists(); 092 } 093 094 @Override 095 public FileObject[] findFiles(final FileSelector selector) throws FileSystemException { 096 return decoratedFileObject.findFiles(selector); 097 } 098 099 @Override 100 public void findFiles(final FileSelector selector, final boolean depthwise, final List<FileObject> selected) 101 throws FileSystemException { 102 decoratedFileObject.findFiles(selector, depthwise, selected); 103 } 104 105 @Override 106 public FileObject getChild(final String name) throws FileSystemException { 107 return decoratedFileObject.getChild(name); 108 } 109 110 @Override 111 public FileObject[] getChildren() throws FileSystemException { 112 return decoratedFileObject.getChildren(); 113 } 114 115 @Override 116 public FileContent getContent() throws FileSystemException { 117 return decoratedFileObject.getContent(); 118 } 119 120 public FileObject getDecoratedFileObject() { 121 return decoratedFileObject; 122 } 123 124 @Override 125 public FileOperations getFileOperations() throws FileSystemException { 126 return decoratedFileObject.getFileOperations(); 127 } 128 129 @Override 130 public FileSystem getFileSystem() { 131 return decoratedFileObject.getFileSystem(); 132 } 133 134 @Override 135 public String getPublicURIString() { 136 return decoratedFileObject.getPublicURIString(); 137 } 138 139 @Override 140 public FileName getName() { 141 return decoratedFileObject.getName(); 142 } 143 144 @Override 145 public FileObject getParent() throws FileSystemException { 146 return decoratedFileObject.getParent(); 147 } 148 149 @Override 150 public FileType getType() throws FileSystemException { 151 return decoratedFileObject.getType(); 152 } 153 154 @Override 155 public URL getURL() throws FileSystemException { 156 return decoratedFileObject.getURL(); 157 } 158 159 @Override 160 public boolean isAttached() { 161 return decoratedFileObject.isAttached(); 162 } 163 164 @Override 165 public boolean isContentOpen() { 166 return decoratedFileObject.isContentOpen(); 167 } 168 169 @Override 170 public boolean isExecutable() throws FileSystemException { 171 return decoratedFileObject.isExecutable(); 172 } 173 174 @Override 175 public boolean isFile() throws FileSystemException { 176 return decoratedFileObject.isFile(); 177 } 178 179 @Override 180 public boolean isFolder() throws FileSystemException { 181 return decoratedFileObject.isFolder(); 182 } 183 184 @Override 185 public boolean isHidden() throws FileSystemException { 186 return decoratedFileObject.isHidden(); 187 } 188 189 @Override 190 public boolean isReadable() throws FileSystemException { 191 return decoratedFileObject.isReadable(); 192 } 193 194 @Override 195 public boolean isWriteable() throws FileSystemException { 196 return decoratedFileObject.isWriteable(); 197 } 198 199 @Override 200 public Iterator<FileObject> iterator() { 201 return decoratedFileObject.iterator(); 202 } 203 204 @Override 205 public void moveTo(final FileObject destFile) throws FileSystemException { 206 decoratedFileObject.moveTo(destFile); 207 } 208 209 @Override 210 public void refresh() throws FileSystemException { 211 decoratedFileObject.refresh(); 212 } 213 214 @Override 215 public FileObject resolveFile(final String path) throws FileSystemException { 216 return decoratedFileObject.resolveFile(path); 217 } 218 219 @Override 220 public FileObject resolveFile(final String name, final NameScope scope) throws FileSystemException { 221 return decoratedFileObject.resolveFile(name, scope); 222 } 223 224 @Override 225 public boolean setExecutable(final boolean executable, final boolean ownerOnly) throws FileSystemException { 226 return decoratedFileObject.setExecutable(executable, ownerOnly); 227 } 228 229 @Override 230 public boolean setReadable(final boolean readable, final boolean ownerOnly) throws FileSystemException { 231 return decoratedFileObject.setReadable(readable, ownerOnly); 232 } 233 234 @Override 235 public boolean setWritable(final boolean writable, final boolean ownerOnly) throws FileSystemException { 236 return decoratedFileObject.setWritable(writable, ownerOnly); 237 } 238 239 @Override 240 public String toString() { 241 return decoratedFileObject.toString(); 242 } 243 244}