Coverage Report - org.webslinger.commons.vfs.cow.COWFileOperationProvider
 
Classes in this File Line Coverage Branch Coverage Complexity
COWFileOperationProvider
90%
9/10
100%
2/2
0
 
 1  
 package org.webslinger.commons.vfs.cow;
 2  
 
 3  
 import java.util.Arrays;
 4  
 import java.util.Collection;
 5  
 
 6  
 import org.apache.commons.vfs.FileObject;
 7  
 import org.apache.commons.vfs.FileSystemException;
 8  
 import org.apache.commons.vfs.operations.FileOperation;
 9  
 import org.apache.commons.vfs.operations.FileOperationProvider;
 10  
 
 11  
 import org.webslinger.commons.vfs.operations.RealFileOperationProvider;
 12  
 
 13  110
 public class COWFileOperationProvider extends RealFileOperationProvider<COWFileObject> {
 14  
     public COWFileOperationProvider() {
 15  47
         super(COWFileObject.class);
 16  47
     }
 17  
 
 18  
     protected void collectRealOperations(Collection<Class<? extends FileOperation>> operationsList, COWFileObject file) throws FileSystemException {
 19  55
         operationsList.add(COWCOWStateOperation.class);
 20  55
         operationsList.add(COWSymlinkOperation.class);
 21  55
         collectOperationsWorker(operationsList, file.getFile());
 22  55
     }
 23  
 
 24  
     protected FileOperation getRealOperation(COWFileObject file, Class<? extends FileOperation> operationClass) throws FileSystemException {
 25  55
         if (operationClass.isAssignableFrom(COWCOWStateOperation.class)) return new COWCOWStateOperation<COWFileObject>(file);
 26  6
         if (operationClass.isAssignableFrom(COWSymlinkOperation.class)) return new COWSymlinkOperation<COWFileObject>(file);
 27  0
         return getOperationWorker(file.getFile(), operationClass);
 28  
     }
 29  
 }