📄 jremconfigdocfactory.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -