filesystemmanager.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 87 行

JAVA
87
字号
/*
 * $Id: FileSystemManager.java,v 1.4 2003/12/29 08:44:52 epr Exp $
 */
package org.jnode.fs.service.def;

import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Set;

import org.jnode.driver.Device;
import org.jnode.fs.FileSystem;

/**
 * @author epr
 */
public class FileSystemManager {

	/** All registed filesystems (device, fs) */
	private final HashMap filesystems = new HashMap();

	/**
	 * Create a new instance
	 */
	//protected FileSystemManager() {
	//}

	/**
	 * Register a mounted filesystem
	 * 
	 * @param fs
	 */
	public void registerFileSystem(FileSystem fs) {
		String idToMount = fs.getDevice().getId();
		filesystems.put(idToMount, fs);
	}

	/**
	 * Unregister a mounted filesystem
	 * 
	 * @param fs
	 */
	public void unregisterFileSystem(FileSystem fs) {
		filesystems.remove(fs.getDevice().getId());
	}

	/**
	 * Gets the filesystem registered on the given device.
	 * 
	 * @param device
	 * @return null if no filesystem was found.
	 */
	public FileSystem getFileSystem(Device device) {
		return (FileSystem)filesystems.get(device.getId());
	}

	/**
	 * Gets the filesystem registered on the given name.
	 * 
	 * @param rootName
	 * @return null if no filesystem was found.
	 */
	public FileSystem getFileSystem(String rootName) {
		return (FileSystem)filesystems.get(rootName);
	}

	/**
	 * Gets all registered filesystems. All instances of the returned collection
	 * are instanceof FileSystem.
	 */
	public Collection fileSystems() {
		return Collections.unmodifiableCollection(filesystems.values());
	}

	public Set fileSystemRoots() {
		return filesystems.keySet();
	}

	/**
	 * Initialize this manager
	 */
	protected void initialize() {
		// Do nothing
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?