⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deviceargument.java

📁 纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统
💻 JAVA
字号:
/*
 * $Id: DeviceArgument.java,v 1.1 2003/11/25 11:52:57 epr Exp $
 */

package org.jnode.shell.help;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.jnode.naming.InitialNaming;
import javax.naming.NameNotFoundException;

import org.jnode.driver.Device;
import org.jnode.driver.DeviceManager;
import org.jnode.driver.DeviceNotFoundException;

/**
 * @author qades
 */
public class DeviceArgument extends Argument {

	public DeviceArgument(String name, String description, boolean multi) {
		super(name, description, multi);
	}

	public DeviceArgument(String name, String description) {
		super(name, description);
	}

	public Device getDevice(ParsedArguments args) throws SyntaxError {
		String value = getValue(args);
		try {
			return ((DeviceManager)InitialNaming.lookup(DeviceManager.NAME)).getDevice(value);
		} catch(NameNotFoundException ex) {
			throw new SyntaxError("DeviceManager not found. Check your system setup");
		} catch(DeviceNotFoundException ex) {
			throw new SyntaxError("Device " + value + " not found");
		}
	}

	public String complete(String partial) {
		List devices = new ArrayList();
                try {
			// get the alias manager
			final DeviceManager devMgr = (DeviceManager)InitialNaming.lookup(DeviceManager.NAME);

                        // collect matching aliases
			Iterator i = devMgr.getDevices().iterator();
			while( i.hasNext() ) {
				String dev = ((Device)i.next()).getId();
				if( dev.startsWith(partial) )
					devices.add(dev);
			}
			return complete(partial, devices);
		} catch( NameNotFoundException ex ) {
			// should not happen!
			return partial;
		}
	}

}

⌨️ 快捷键说明

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