📄 jremserverdoc.java
字号:
/* * JRemCntl - Copyright (C) 2007 Filippo Di Vattimo <fildiv@gmail.com> * See COPYING */package fildiv.jremcntl.server.gui.model;import fildiv.jremcntl.common.core.Command;import fildiv.jremcntl.common.core.Config;import fildiv.jremcntl.server.core.AppConfiguration;import fildiv.jremcntl.server.core.JRemConfigReader;import fildiv.jremcntl.server.core.JRemEnv;import fildiv.jremcntl.server.core.JRemServer;import fildiv.jremcntl.server.core.JRemServerEventsListener;import fildiv.jremcntl.server.gui.core.AbstractDocument;public class JRemServerDoc extends AbstractDocument { public static final int MODIFIED_CONTENT_TYPE_START_EXCEPTION = 1; private JRemEnv env; private AppConfiguration conf; private JRemServer server = null; private Thread serverThread; private String configPath; private JRemServerEventsListener sel = new JRemServerEventsListener() { public void onClientCommandListening() { fireGenericModifyEvent(); } public void onCommandRun(Command c) { fireGenericModifyEvent(); } public void onCommandRunException(Command c, Exception e) { fireGenericModifyEvent(); } public void onConnectionListening() { fireGenericModifyEvent(); } public void onDeviceConnected(String deviceName) { fireGenericModifyEvent(); } public void onDeviceDisconnected() { fireGenericModifyEvent(); } public void onServerExceptionOccurred(Exception e) { fireGenericModifyEvent(); } public void onServerStarted() { fireGenericModifyEvent(); } public void onServerStopped() { fireGenericModifyEvent(); } }; public JRemServerDoc() { this.env = JRemEnv.getInstance(); this.conf = env.getAppConfiguration(); server = env.getServer(); server.addServerEventsListener(sel); } public String getName() { return "Server doc"; } public boolean isRunning() { return server.isRunning(); } public synchronized void start(String configPath) { try { this.configPath = configPath; JRemConfigReader reader = new JRemConfigReader(configPath); Config config = reader.getConfig(); server.setConfig(config); startServerInThread(); } finally { fireGenericModifyEvent(); } } public synchronized void stop() { if (server == null) return; server.stop(); } public void addServerEventsListener(JRemServerEventsListener listener) { server.addServerEventsListener(listener); } public void removeServerEventsListener(JRemServerEventsListener listener) { server.removeServerEventsListener(listener); } public void addCommandEventsListener(JRemServerEventsListener listener) { server.addCommandEventsListener(listener); } public void removeCommandEventsListener(JRemServerEventsListener listener) { server.removeCommandEventsListener(listener); } public String getConfigPath() { return configPath; } public boolean isShowServerOutput() { return conf.isShowServerOutput(); } public void setShowServerOutput(boolean show) { conf.setShowServerOutput(show); fireGenericModifyEvent(); } public boolean isShowServerStdOutput() { return conf.isShowServerStdOutput(); } public void setShowServerStdOutput(boolean show) { conf.setShowServerStdOutput(show); fireGenericModifyEvent(); } public boolean isShowServerStdError() { return conf.isShowServerStdError(); } public void setShowServerStdError(boolean show) { conf.setShowServerStdError(show); fireGenericModifyEvent(); } private void startServerInThread() { Runnable r = new Runnable() { public void run() { try { server.start(); } catch (Exception e) { fireModifyEvent(MODIFIED_CONTENT_TYPE_START_EXCEPTION, e); } finally { // Nothing } } }; serverThread = new Thread(r); serverThread.start(); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -