1 16 package org.apache.commons.vfs.provider.webdav; 17 18 import org.apache.commons.httpclient.HttpClient; 19 import org.apache.commons.httpclient.HttpConnectionManager; 20 import org.apache.commons.vfs.FileName; 21 import org.apache.commons.vfs.FileObject; 22 import org.apache.commons.vfs.FileSystem; 23 import org.apache.commons.vfs.FileSystemException; 24 import org.apache.commons.vfs.FileSystemOptions; 25 import org.apache.commons.vfs.provider.AbstractFileSystem; 26 import org.apache.commons.vfs.provider.GenericFileName; 27 28 import java.util.Collection ; 29 30 35 public class WebDavFileSystem 36 extends AbstractFileSystem 37 implements FileSystem 38 { 39 private final HttpClient client; 40 41 protected WebDavFileSystem(final GenericFileName rootName, final HttpClient client, final FileSystemOptions fileSystemOptions) 42 { 43 super(rootName, null, fileSystemOptions); 44 45 this.client = client; 46 } 47 48 51 protected void addCapabilities(final Collection caps) 52 { 53 caps.addAll(WebdavFileProvider.capabilities); 54 } 55 56 59 protected HttpClient getClient() throws FileSystemException 60 { 61 return client; 62 } 63 64 protected void closeHttpClientConnection() throws FileSystemException 65 { 66 HttpConnectionManager mgr = getClient().getHttpConnectionManager(); 67 if (mgr instanceof WebdavConnectionManager) 68 { 69 ((WebdavConnectionManager) mgr).releaseLocalConnection(); 70 } 71 } 72 73 77 protected FileObject createFile(final FileName name) 78 { 79 final GenericFileName fileName = (GenericFileName) name; 80 return new WebdavFileObject(fileName, this); 81 } 82 } 83 | Popular Tags |