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

📄 piperesolvermessage.java

📁 JXTA&#8482 is a set of open, generalized peer-to-peer (P2P) protocols that allow any networked devi
💻 JAVA
字号:
/* * Copyright (c) 2002-2007 Sun Microsystems, Inc.  All rights reserved. *   *  The Sun Project JXTA(TM) Software License *   *  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 disclaimer 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 Sun Microsystems, Inc. for JXTA(TM) technology."  *     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 SUN  *  MICROSYSTEMS 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. *   *  JXTA is a registered trademark of Sun Microsystems, Inc. in the United  *  States and other countries. *   *  Please see the license information page at : *  <http://www.jxta.org/project/www/license.html> for instructions on use of  *  the license in source files. *   *  ==================================================================== *   *  This software consists of voluntary contributions made by many individuals  *  on behalf of Project JXTA. For more information on Project JXTA, please see  *  http://www.jxta.org. *   *  This license is based on the BSD license adopted by the Apache Foundation.  */package net.jxta.protocol;import net.jxta.document.Document;import net.jxta.document.MimeMediaType;import net.jxta.id.ID;import net.jxta.peer.PeerID;import net.jxta.pipe.PipeID;import java.util.Collections;import java.util.HashSet;import java.util.Set;/** * This abstract class defines the PipeResolver Message. * <p/> * <p/>This message is part of the Pipe Resolver Protocol. * * @see net.jxta.pipe.PipeService * @see net.jxta.protocol.PipeAdvertisement * @see <a href="https://jxta-spec.dev.java.net/nonav/JXTAProtocols.html#proto-pbp" target='_blank'>JXTA Protocols Specification : Standard JXTA Protocols</a> */public abstract class PipeResolverMessage {    /**     * The type of message this object is communicating.     */    private MessageType msgType = null;    /**     * The pipe which is the subject of this message.     */    private ID pipeid = ID.nullID;    /**     * The type of the pipe which is the subject of this message.     */    private String pipeType = null;    /**     * <ul>     * <li>For query : The peer ids which should respond to this query.</li>     * <li>For response : The peer id on which is responding.</li>     * </ul>     */    private Set<ID> peerids = new HashSet<ID>();    /**     * For responses, if true then this message indicates the pipe is present     * otherwise the pipe is not present.     */    private boolean found = true;    /**     * <ul>     * <li>For query : The peer advertisement of the querying peer.</li>     * <li>For response : The peer advertisement of the responding peer.</li>     * </ul>     */    private PeerAdvertisement inputPeerAdv = null;    /**     * An enumeration class for message types.     */    public enum MessageType {        /**         * A query message         */        QUERY, /**         * A response message         */ ANSWER    }    /**     * Creates a new unintialized pipe resolver message     */    public PipeResolverMessage() {        super();    }    /**     * returns the Message type. This will match the XML doctype declaration.     *     * @return a string     */    public static String getMessageType() {        return "jxta:PipeResolver";    }    /**     * Write message into a document. asMimeType is a mime media-type     * specification and provides the form of the document which is being     * requested. Two standard document forms are defined. "text/plain" encodes     * the document in "pretty-print" format for human viewing and "text/xml"     * which provides an XML format.     *     * @param asMimeType MimeMediaType format representation requested     * @return Document   the document to be used in the construction     */    public abstract Document getDocument(MimeMediaType asMimeType);    /**     * Returns whether this message is a query or a response.     *     * @return the type of this message.     */    public MessageType getMsgType() {        return msgType;    }    /**     * Sets the message type of this message.     *     * @param type the type this message is to be.     */    public void setMsgType(MessageType type) {        msgType = type;    }    /**     * Return the id of the pipe which is the subject of this message.     *     * @return the id of the pipe which is the subject of this message.     */    public ID getPipeID() {        return pipeid;    }    /**     * Set the id of pipe which is to be subject of this message.     *     * @param id the pipe id which is the subject of this message.     */    public void setPipeID(ID id) {        if (!(id instanceof PipeID)) {            throw new IllegalArgumentException("can only set to pipe ids.");        }        pipeid = id;    }    /**     * Return the pipe type of the pipe which is the subject of this message.     *     * @return the pipe type of the pipe which is the subject of this message.     */    public String getPipeType() {        return pipeType;    }    /**     * Set the pipe type of the pipe which is the subject of this message.     *     * @param type The pipe type of the pipe which is to be the subject of this     *             message.     */    public void setPipeType(String type) {        pipeType = type;    }    // Query    /**     * Returns a {@link java.util.Set} (possibly empty) containing the peer ids     * which should respond to this query.     *     * @return set containing the peer ids to which this peer is directed.     */    public Set<ID> getPeerIDs() {        return Collections.unmodifiableSet(peerids);    }    /**     * Add a peer to the set of peers to which this query is directed.     *     * @param id the peer id to add.     */    public void addPeerID(ID id) {        if (!(id instanceof PeerID)) {            throw new IllegalArgumentException("can only add peer ids");        }        peerids.add(id);    }    // Answer    /**     * If true then the pipe was found ont he     *     * @return true if found     */    public boolean isFound() {        return found;    }    public void setFound(boolean isFound) {        found = isFound;    }    public PeerAdvertisement getInputPeerAdv() {        return inputPeerAdv;    }    public void setInputPeerAdv(PeerAdvertisement peerAdv) {        inputPeerAdv = peerAdv;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -