Coverage Report - org.webslinger.commons.vfs.FilteringFileSystem
 
Classes in this File Line Coverage Branch Coverage Complexity
FilteringFileSystem
100%
11/11
100%
2/2
0
 
 1  
 package org.webslinger.commons.vfs;
 2  
 
 3  
 import java.util.Collection;
 4  
 import java.util.HashSet;
 5  
 import java.util.Set;
 6  
 
 7  
 import org.apache.commons.vfs.Capability;
 8  
 import org.apache.commons.vfs.FileName;
 9  
 import org.apache.commons.vfs.FileObject;
 10  
 import org.apache.commons.vfs.FileSystem;
 11  
 import org.apache.commons.vfs.FileSystemException;
 12  
 import org.apache.commons.vfs.FileSystemOptions;
 13  
 
 14  
 public abstract class FilteringFileSystem<N extends FileName, F extends FilteringFileObject<N, F, S>, S extends FilteringFileSystem<N, F, S>> extends LayeredFileSystem<N, F, S> {
 15  1
     public final static Capability[] copyCapabilities = new Capability[] {
 16  
         Capability.READ_CONTENT,
 17  
         Capability.WRITE_CONTENT,
 18  
         Capability.RANDOM_ACCESS_READ,
 19  
         Capability.RANDOM_ACCESS_WRITE,
 20  
         Capability.APPEND_CONTENT,
 21  
         Capability.LAST_MODIFIED,
 22  
         Capability.GET_LAST_MODIFIED,
 23  
         Capability.SET_LAST_MODIFIED_FILE,
 24  
         Capability.SET_LAST_MODIFIED_FOLDER,
 25  
         // last modified?
 26  
         Capability.CREATE,
 27  
         Capability.DELETE,
 28  
         Capability.RENAME,
 29  
         Capability.LIST_CHILDREN
 30  
     };
 31  
 
 32  33
     protected Set<Capability> caps = new HashSet<Capability>();
 33  
 
 34  
     public FilteringFileSystem(N name, FileObject root, FileSystemOptions options) throws FileSystemException {
 35  33
         super(name, root, options);
 36  33
         FileSystem fs = root.getFileSystem();
 37  33
         copyCapabilities(root.getFileSystem(), caps);
 38  33
     }
 39  
 
 40  
     public static void copyCapabilities(FileSystem fs, Collection<Capability> caps) {
 41  546
         for (Capability cap: copyCapabilities) {
 42  507
             if (fs.hasCapability(cap)) caps.add(cap);
 43  
         }
 44  39
     }
 45  
 
 46  
     public void addCapabilities(Collection caps) {
 47  33
         caps.addAll(this.caps);
 48  33
     }
 49  
 }
 50