⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qsadminserverconfig.java

📁 一个用java编写的服务器,对于学习网络编程的人来说是个很好的例子
💻 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: &lt;command-plugin&gt;&lt;/command-plugin&gt;
	 */
	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: &lt;command-shell&gt;&lt;enable&gt;true&lt;/enable&gt;&lt;/command-shell&gt;
	 * 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: &lt;command-shell&gt;&lt;prompt-name&gt;true&lt;/prompt-name&gt;&lt;/command-shell&gt;
	 * 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 + -