📄 commandmap.java
字号:
package core;import cmd.*;import java.util.*;import java.io.*;public class CommandMap{ // private static String commandPath = "C:\\Documents and Settings\\rburke\\My Documents\\courses\\win03\\is313\\hwk\\hwk3\\solution\\cmd"; // private static String commandPath = "C:\\Documents and Settings\\rburke\\My Documents\\courses\\w03\\hwk\\hwk3\\solution\\cmd"; private static String localCommandPath = "\\cmd"; // private static final String localCommandPath = "../cmd"; protected Map m_commandMap = new HashMap (); public CommandMap () { List commands = new ArrayList (); String commandPath = db.DBUtilities.rootPath() + localCommandPath; File cmdDir = new File (commandPath); if (!cmdDir.exists()) { System.err.println ("Command Directory " + commandPath + " does not exist."); } else { String [] classFiles = cmdDir.list(new FilenameFilter () { public boolean accept (File file, String name) { return (name.endsWith (".class")); } }); for (int i = 0; i < classFiles.length; i++) { String classFilename = classFiles[i]; String className = classFilename.substring (0, classFilename.indexOf (".class")); try { Class cmdClass = Class.forName ("cmd." + className); // System.out.println ("Creating command: " + className); commands.add (cmdClass.newInstance ()); } catch (ClassNotFoundException e) { System.err.println ("Couldn't find class: " + className); } catch (InstantiationException e) { System.err.println ("Couldn't instantiate class: " + className); } catch (IllegalAccessException e) { System.err.println ("Couldn't instantiate class: " + className); } } } commands.add (new ExitCommand()); commands.add (new HelpCommand()); for (Iterator iter = commands.iterator (); iter.hasNext(); ) { Command cmd = (Command) iter.next(); m_commandMap.put (cmd.getName().toLowerCase(), cmd); } HelpCommand.setCommands (this); } public Collection names () { return m_commandMap.keySet(); } public Collection values () { return m_commandMap.values(); } public Command createCommand (String commandName, List parameters) { Command cmd = instantiateCmd (commandName); if (parameters != null) cmd.setParameters (parameters); return cmd; } public Command createTextCommand (String commandName, List parameters) { Command cmd = createCommand (commandName, parameters); cmd.setTextMode (); return cmd; } public Command createGUICommand (String commandName, javax.swing.JFrame frm, List parameters) { Command cmd = createCommand (commandName, parameters); cmd.setGUIMode (frm); return cmd; } private Command instantiateCmd (String commandName) { Command cmd = (Command) m_commandMap.get(commandName.toLowerCase()); if (cmd == null) cmd = (Command) m_commandMap.get("_unknown"); return cmd.makeInstance(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -