📄 qsadminserverconfig.java
字号:
/*
* This file is part of the QuickServer library
* Copyright (C) 2003-2005 QuickServer.org
*
* Use, modification, copying and distribution of this software is subject to
* the terms and conditions of the GNU Lesser General Public License.
* You should have received a copy of the GNU LGP License along with this
* library; if not, you can download a copy from <http://www.quickserver.org/>.
*
* For questions, suggestions, bug-reports, enhancement-requests etc.
* visit http://www.quickserver.org
*
*/
package org.quickserver.util.xmlreader;
import org.quickserver.net.server.QuickServer;
import org.quickserver.net.qsadmin.QSAdminServer;
/**
* This class encapsulate the configuration of QSAdminServer.
* This class is used by
* {@link org.quickserver.net.server.QuickServer#configQuickServer}
* and {@link org.quickserver.net.server.QuickServer#initService} method to
* initialise QSAdminServer.
* @author Akshathkumar Shetty
* @since 1.2
*/
public class QSAdminServerConfig extends BasicServerConfig {
private String commandPlugin;
private String commandShellEnabled = "false";
private String commandShellPromptName = "QSAdmin";
public QSAdminServerConfig() {
setName("QSAdminServer v " + QSAdminServer.getVersion());
setPort(9877);
setBindAddr("127.0.0.1");
setClientCommandHandler("org.quickserver.net.qsadmin.CommandHandler");
setClientEventHandler("org.quickserver.net.qsadmin.CommandHandler");
setClientAuthenticationHandler("org.quickserver.net.qsadmin.Authenticator");
setClientData("org.quickserver.net.qsadmin.Data");
setMaxConnection(1);
getServerMode().setBlocking(false);
}
/**
* Set the CommandPlugin for QSAdminServer class which plugs in into
* CommandHandler of QsAdminServer,it will be null if not set.
* XML Tag: <command-plugin></command-plugin>
*/
public void setCommandPlugin(String plugin) {
if(plugin!=null && plugin.equals("")==false)
commandPlugin = plugin;
}
/**
* Gets the CommandPlugin for QSAdminServer class which plugsin into
* CommandHandler of QsAdminServer,it will be null if not set.
*/
public String getCommandPlugin() {
return commandPlugin;
}
/**
* Set the CommandShellEnable flag for QSAdminServer
* XML Tag: <command-shell><enable>true</enable></command-shell>
* Allowed values = <code>true</code> | <code>false</code>
* @since 1.3.2
*/
public void setCommandShellEnable(String enable) {
if(enable!=null && enable.equals("")==false)
commandShellEnabled = enable;
}
/**
* Gets the CommandShellEnable flag for QSAdminServer
* @since 1.3.2
*/
public String getCommandShellEnable() {
return commandShellEnabled;
}
/**
* Set the PromptName for QSAdminShell
* XML Tag: <command-shell><prompt-name>true</prompt-name></command-shell>
* Default values = <code>QSAdmin</code>
* @since 1.3.2
*/
public void setCommandShellPromptName(String commandShellPromptName) {
if(commandShellPromptName!=null && commandShellPromptName.equals("")==false)
this.commandShellPromptName = commandShellPromptName;
}
/**
* Gets the PromptName for QSAdminShell
* @since 1.3.2
*/
public String getCommandShellPromptName() {
return commandShellPromptName;
}
/**
* Returns XML config of this class.
* @since 1.3
*/
public String toXML(String pad) {
if(pad==null) pad="";
StringBuffer sb = new StringBuffer();
sb.append(pad+"<qsadmin-server>\n");
if(getName()!=null)
sb.append(pad+"\t<name>"+getName()+"</name>\n");
if(getServerBanner()!=null)
sb.append(pad+"\t<server-banner>"+getServerBanner()+"</server-banner>\n");
sb.append(pad+"\t<port>"+getPort()+"</port>\n");
sb.append(pad+"\t<bind-address>"+getBindAddr()+"</bind-address>\n");
sb.append( getServerMode().toXML(pad+"\t") );
if(getClientEventHandler()!=null)
sb.append(pad+"\t<client-event-handler>"+getClientEventHandler()+"</client-event-handler>\n");
if(getClientCommandHandler()!=null)
sb.append(pad+"\t<client-command-handler>"+getClientCommandHandler()+"</client-command-handler>\n");
if(getClientObjectHandler()!=null)
sb.append(pad+"\t<client-object-handler>"+getClientObjectHandler()+"</client-object-handler>\n");
if(getClientBinaryHandler()!=null)
sb.append(pad+"\t<client-binary-handler>"+getClientBinaryHandler()+"</client-binary-handler>\n");
if(getClientWriteHandler()!=null)
sb.append(pad+"\t<client-write-handler>"+getClientWriteHandler()+"</client-write-handler>\n");
if(getClientAuthenticationHandler()!=null)
sb.append(pad+"\t<client-authentication-handler>"+getClientAuthenticationHandler()+"</client-authentication-handler>\n");
else if(getAuthenticator()!=null)
sb.append(pad+"\t<authenticator>"+getAuthenticator()+"</authenticator>\n");
if(getClientData()!=null)
sb.append(pad+"\t<client-data>"+getClientData()+"</client-data>\n");
if(getClientExtendedEventHandler()!=null)
sb.append(pad+"\t<client-extended-event-handler>"+getClientExtendedEventHandler()+"</client-extended-event-handler>\n");
sb.append(pad+"\t<timeout>"+getTimeout()+"</timeout>\n");
if(getTimeoutMsg()!=null)
sb.append(pad+"\t<timeout-msg>"+getTimeoutMsg()+"</timeout-msg>\n");
sb.append(pad+"\t<max-auth-try>"+getMaxAuthTry()+"</max-auth-try>\n");
if(getMaxAuthTryMsg()!=null)
sb.append(pad+"\t<max-auth-try-msg>"+getMaxAuthTryMsg()+"</max-auth-try-msg>\n");
sb.append(pad+"\t<max-connection>"+getMaxConnection()+"</max-connection>\n");
if(getMaxConnectionMsg()!=null)
sb.append(pad+"\t<max-connection-msg>"+getMaxConnectionMsg()+"</max-connection-msg>\n");
/*
//Not used. Use main QS console logging
if(getConsoleLoggingLevel()!=null)
sb.append(pad+"\t<console-logging-level>"+getConsoleLoggingLevel()+"</console-logging-level>\n");
if(getConsoleLoggingFormatter()!=null)
sb.append(pad+"\t<console-logging-formatter>"+getConsoleLoggingFormatter()+"</consoleLoggingFormatter>\n");
*/
sb.append(getObjectPoolConfig().toXML(pad+"\t"));
sb.append(pad+"\t<communication-logging>\n");
sb.append(pad+"\t\t<enable>"+getCommunicationLogging()+"</enable>\n");
sb.append(pad+"\t</communication-logging>\n");
if(getCommandPlugin()!=null)
sb.append(pad+"\t<command-plugin>"+getCommandPlugin()+"</command-plugin>\n");
sb.append(pad+"\t<command-shell>\n");
sb.append(pad+"\t\t<enable>"+getCommandShellEnable()+"</enable>\n");
sb.append(pad+"\t\t<prompt-name>"+getCommandShellPromptName()+"</prompt-name>\n");
sb.append(pad+"\t</command-shell>\n");
if(getAccessConstraintConfig()!=null) {
sb.append(getAccessConstraintConfig().toXML(pad+"\t"));
}
if(getServerHooks()!=null) {
sb.append( getServerHooks().toXML(pad+"\t") );
}
sb.append( getSecure().toXML(pad+"\t") );
sb.append( getAdvancedSettings().toXML(pad+"\t") );
sb.append(pad+"</qsadmin-server>\n");
return sb.toString();
}
public String toString() {
return toXML(null);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -