Myjxta的源代码 基于JXTA的P2P即时通信系统

源代码在线查看: abstractcommand.java

软件大小: 14783 K
上传用户: C69222090
关键词: Myjxta JXTA P2P 源代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*				*  Copyright (c) 2001 Sun Microsystems, Inc.  All rights				*  reserved.				*				*  Redistribution and use in source and binary forms, with or without				*  modification, are permitted provided that the following conditions				*  are met:				*				*  1. Redistributions of source code must retain the above copyright				*  notice, this list of conditions and the following disclaimer.				*				*  2. Redistributions in binary form must reproduce the above copyright				*  notice, this list of conditions and the following discalimer in				*  the documentation and/or other materials provided with the				*  distribution.				*				*  3. The end-user documentation included with the redistribution,				*  if any, must include the following acknowledgment:				*  "This product includes software developed by the				*  Sun Microsystems, Inc. for Project JXTA."				*  Alternately, this acknowledgment may appear in the software itself,				*  if and wherever such third-party acknowledgments normally appear.				*				*  4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA"				*  must not be used to endorse or promote products derived from this				*  software without prior written permission. For written				*  permission, please contact Project JXTA at http://www.jxta.org.				*				*  5. Products derived from this software may not be called "JXTA",				*  nor may "JXTA" appear in their name, without prior written				*  permission of Sun.				*				*  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED				*  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES				*  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE				*  DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR				*  ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,				*  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT				*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF				*  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND				*  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,				*  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT				*  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF				*  SUCH DAMAGE.				*  ====================================================================				*				*  This software consists of voluntary contributions made by many				*  individuals on behalf of Project JXTA.  For more				*  information on Project JXTA, please see				*  .				*				*  This license is based on the BSD license adopted by the Apache Foundation.				*				*  $Id: AbstractCommand.java,v 1.11 2007/01/26 21:54:25 bondolo Exp $				*/								package net.jxta.myjxta.dialog.commands;								import net.jxta.logging.Logging;				import net.jxta.myjxta.dialog.Command;								import java.text.MessageFormat;				import java.util.logging.Level;				import java.util.logging.Logger;								/**				 * The The base Dialog for Group Chats.				 * ge				 * @version $Id: AbstractCommand.java,v 1.11 2007/01/26 21:54:25 bondolo Exp $				 *				 * @author james todd [gonzo at jxta dot org]				 */								public abstract class AbstractCommand				implements Command {				   				    protected static final String NEW_LINE = "\n";				    protected static final String TAB = "  ";				    protected static final MessageFormat TEMPLATE_REQUEST = new MessageFormat(				"");				    protected static final MessageFormat TEMPLATE_RESPONSE = new MessageFormat(				"" + NEW_LINE +				TAB + "{1}" + NEW_LINE +				TAB + "{2}" + NEW_LINE +				"");				    				    private static final Logger LOG = Logger.getLogger(AbstractCommand.class.getName());				        				    private String command = null;				    private String reply = null;				    private boolean status = false;				    				    public String getRequest() {					Object[] args = { getId() };				        String request = TEMPLATE_REQUEST.format(args);				        				        if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {				            LOG.fine("request: " + request);				        }				        				        return request;				    }				    				    public String getResponse() {					Object[] args = {getStatus(), getCommand(), getReply() };				        String response = TEMPLATE_RESPONSE.format(args);				        				        if (Logging.SHOW_FINE&& LOG.isLoggable(Level.FINE)) {				            LOG.fine("response: " + response);				        }				        				        return response;				    }				    				    public String toString() {				        String s = getRequest();				        				        if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {				            LOG.info("toString: " + s);				        }				        				        return s;				    }				    				    protected String getCommand() {				        String c = this.command;				        				        if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {				            LOG.fine("command " + c);				        }				        				        return c;				    }				    				    protected void setCommand(String command) {				        if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {				            LOG.fine("set command: " + command);				        }				        				        this.command = command;				    }				    				    protected String getReply() {				        String result = this.reply;				        				        if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {				            LOG.fine("reply: " + result);				        }				                				        return result;				    }				    				    protected void setReply(String reply) {				        if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {				            LOG.fine("set reply: " + reply);				        }				                				        this.reply = reply;				    }				    				    protected boolean getStatus() {				        boolean s = this.status;				        				        if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {				            LOG.info("status: " + s);				        }				        				        return s;				    }				    				    protected void setStatus(boolean status) {				        if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {				            LOG.info("set status: " + status);				        }				        				        this.status = status;				    }				}							

相关资源