jremconfigdocfactory.java
来自「一个基于J2ME技术的程序,使你可以远程控制装有服务端的PC.」· Java 代码 · 共 91 行
JAVA
91 行
package fildiv.jremcntl.server.gui.model;import fildiv.jremcntl.common.core.Command;import fildiv.jremcntl.common.core.Config;import fildiv.jremcntl.common.core.Context;import fildiv.jremcntl.common.core.DefaultConfigVisitor;import fildiv.jremcntl.common.core.Extension;import fildiv.jremcntl.server.core.JRemExtension;public class JRemConfigDocFactory { private Config config; protected class ConfigDocBuilderVisitor extends DefaultConfigVisitor { private JRemConfigDoc configDoc = null; private JRemContextDoc currContextDoc = null; public void onConfig(Config config) { configDoc = new JRemConfigDoc(config.getName(), config.getBaseDir()); configDoc.setOnConnectExePath( config.getOnConnectExePath()); configDoc.setOnDisconnectExePath( config.getOnDisconnectExePath()); Extension be = config.getExtension(false); if (be != null) { JRemExtensionDoc extDoc = new JRemExtensionDoc(configDoc, (JRemExtension) be.getImplObj()); configDoc.setExtension(extDoc); } } public void onContext(Context context) { currContextDoc = new JRemContextDoc(configDoc, context.getID(), context.getDesc(), context.getDefView(), context.getBaseDir()); configDoc.appendContext(currContextDoc); Extension be = context.getExtension(false); if (be != null) { JRemExtensionDoc extDoc = new JRemExtensionDoc(currContextDoc, (JRemExtension) be.getImplObj()); currContextDoc.setExtension(extDoc); } } public void onCommand(Command command) { JRemCommandDoc commandDoc = new JRemCommandDoc(currContextDoc, command.getID(), command.getDesc(), command.getExePath(), command.getKey(), command.getQuestion()); currContextDoc.appendCommand(commandDoc); Extension be = command.getExtension(false); if (be != null) { JRemExtensionDoc extDoc = new JRemExtensionDoc(commandDoc, (JRemExtension) be.getImplObj()); commandDoc.setExtension(extDoc); } } protected void finishVisit() { configDoc.resetState(); } public JRemConfigDoc getConfigDoc() { return configDoc; } }; public JRemConfigDocFactory(Config config) { this.config = config; } public JRemConfigDoc create() { ConfigDocBuilderVisitor builder = new ConfigDocBuilderVisitor(); builder.visit(config); JRemConfigDoc configDoc = builder.getConfigDoc(); return configDoc; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?