Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *                 Sun Public License Notice
   *
   * The contents of this file are subject to the Sun Public License
   * Version 1.0 (the "License"). You may not use this file except in
   * compliance with the License. A copy of the License is available at
   * http://www.sun.com/
   *
   * The Original Code is NetBeans. The Initial Developer of the Original
  * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun
  * Microsystems, Inc. All Rights Reserved.
  */
 package org.netbeans.lib.cvsclient.file;
 
 import  org.netbeans.lib.cvsclient.util.BugLog;
 import  org.jetbrains.annotations.NonNls;
 
 import java.io.File;

Author(s):
Thomas Singer
 
 public final class FileSystem
         implements IFileSystem {
 
 	// Fields =================================================================
 
 	private final File rootDirectory;
   @NonNls private static final String OS_NAME_PARAMETER = "os.name";
   @NonNls private static final String WINDOWS = "Windows";
 
   // Setup ==================================================================
 
 	public FileSystem(File rootDirectory) {
 		BugLog.getInstance().assertNotNull(rootDirectory);
 
 		this. = rootDirectory;
 	}
 
 	// Implemented ============================================================
 
 	public File getRootDirectory() {
 		return ;
 	}
 
 	public File getFile(String relativeFileName) {
 		BugLog.getInstance().assertNotNull(relativeFileName);
 
 		return new File(relativeFileName);
 	}
 
 	public File getFile(AbstractFileObject fileObject) {
 		BugLog.getInstance().assertNotNull(fileObject);
 
 		return new File(fileObject.getPath().substring(1));
 	}
 
 	public FileObject getFileObject(File filethrows OutOfFileSystemException {
 		BugLog.getInstance().assertNotNull(file);
 
 		if (file.isDirectory()) {
 			throw new IllegalArgumentException(file + " isn't a file");
 		}
 
 		return FileObject.createInstance(getPath(file));
 	}
 
 	public DirectoryObject getDirectoryObject(File directorythrows OutOfFileSystemException {
 		BugLog.getInstance().assertNotNull(directory);
 
 		if (directory.isFile()) {
 			throw new IllegalArgumentException(directory + " isn't a directory");
 		}
 
 		return DirectoryObject.createInstance(getPath(directory));
 	}
 
 	// Utils ==================================================================
 
 	private String getPath(File filethrows OutOfFileSystemException {
 		final String canonicalFilePath = getCanonicalFileName(file);
 		if (!canonicalFilePath.startsWith()) {
 			throw new OutOfFileSystemException(canonicalFilePath);
 		}
 
 		final String filePath = file.getAbsolutePath();
 		int beginIndex = .length();
 		if (filePath.length() > beginIndex) {
 			beginIndex++;
 		}
 		return '/' + filePath.substring(beginIndex).replace('\\''/');
 	}
 
 	private static String getCanonicalFileName(File file) {
 		String canonicalFileName = file.getAbsolutePath();
 		if (canonicalFileName.endsWith(.)) {
 			canonicalFileName = canonicalFileName.substring(0, canonicalFileName.length() - 1);
		}
			return canonicalFileName.toLowerCase();
		}
		return canonicalFileName;
	}
New to GrepCode? Check out our FAQ X