亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? message.java

?? jxta平臺(tái)的開(kāi)發(fā)包
?? JAVA
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/* * * $Id: Message.java,v 1.46 2005/11/04 04:59:28 bondolo Exp $ * * 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 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 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 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. * * ==================================================================== * * 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.endpoint;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.PrintWriter;import java.io.Serializable;import java.io.StringWriter;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.ListIterator;import java.util.Map;import java.util.Vector;import java.io.IOException;import java.util.ConcurrentModificationException;import java.util.NoSuchElementException;import org.apache.log4j.Level;import org.apache.log4j.Logger;import net.jxta.document.MimeMediaType;import net.jxta.util.AbstractSimpleSelectable;import net.jxta.util.SimpleSelectable;import net.jxta.impl.id.UUID.UUID;import net.jxta.impl.id.UUID.UUIDFactory;/** * Messages are abstract containers for protocol messages within JXTA. Services  * and applications are expected to use Messages as the basis for any protocols * implemented within JXTA. Messages are exchanged through the * {@link net.jxta.endpoint.EndpointService} or * {@link net.jxta.pipe.PipeService}. * * <p/>A Message is composed of an ordered list of zero or more * {@link net.jxta.endpoint.MessageElement MessageElements}. Each * {@link net.jxta.endpoint.MessageElement} is associated with a namespace at * the time it is added to the message. Duplicate * {@link net.jxta.endpoint.MessageElement MessageElements} are permitted. * * <p/><b>Messages are not synchronized. All of the iterators returned by this implementation are * "fail-fast". Concurrent modification from multiple threads will produce unexpected results.</b> * * @see  net.jxta.endpoint.MessageElement * @see  net.jxta.endpoint.EndpointAddress * @see  net.jxta.endpoint.EndpointService * @see  net.jxta.pipe.InputPipe * @see  net.jxta.pipe.OutputPipe * @see  net.jxta.pipe.PipeService **/public class Message extends AbstractSimpleSelectable implements Serializable {        /**     *  Log4J Logger     **/    private static final transient Logger LOG = Logger.getLogger( Message.class.getName() );        /**     *  Magic value for this format of serialization version.     **/    private static final long serialVersionUID = 3418026921074097757L;        /**     *  If <tt>true</tt>, then modification logging be activated. This is a very      *  expensive option as it causes a stack crawl to be captured for every      *  message modification.     *     *  <p/>To enable modification tracking, set to <tt>true</tt> and recompile.     **/    protected static final boolean LOG_MODIFICATIONS = false;        /**     *  If <tt>true</tt>, then a special tracking element is added to the      *  message. This provides the ability to follow messages throughout the      *  network. If a message has a tracking element then it will be used in      *  the <tt>toString()</tt>  representation.     *     *  <p/>The element is currently named "Tracking UUID" and is stored in the     *  "jxta" namespace. The element contains an IETF version 1 UUID in string     *  form.     *     *  <p/>To enable addition of a tracking element, set to <tt>true</tt>     *  and recompile.     **/    protected static final boolean GLOBAL_TRACKING_ELEMENT = false;        /**     *  Incremented for each standalone message instance. {@see #lineage} for     *  information about how message numbers can be used.     **/    private static transient volatile int messagenumber = 1;        /**     *  This string identifies the namespace which is assumed when calls are     *  made that don't include a namespace specification.     **/    protected final String defaultNamespace;        /**     *  the namespaces in this message and the elements in each.     *     *  <ul>     *      <li>keys are {@link java.lang.String}</li>     *      <li>values are {@link java.util.List}     *          <ul>     *              <li>values are {@link net.jxta.endpoint.MessageElement}</li>     *          </ul>     *      </li>     *  </ul>     **/    protected transient Map namespaces = new HashMap();        /**     *  List of the elements.     *     *  <ul>     *      <li>values are {@link net.jxta.endpoint.Message.element}</li>     *  </ul>     **/    protected transient List elements = new ArrayList();        /**     *  Message properties HashMap     *     *  <ul>     *      <li>keys are {@link java.lang.Object}</li>     *      <li>values are {@link java.lang.Object}</li>     *  </ul>     **/    protected transient Map properties = Collections.synchronizedMap(new HashMap());    /**     *  A list of {@link java.lang.Integer} which details the lineage (history     *  of cloning) that produced this message. This message's number is index     *  0, all of the ancestors are in order at higher indexes.     *     *  <p/>Message numbers are not part of the message content and are only      *  stored locally. The are useful for following messages throughout their     *  lifetime and is normally shown as part of the <tt>toString()</tt>     *  display for Messages.     **/    protected transient List lineage = new ArrayList();        /**     *  Modification count of this message. Can be used to detect message being     *  concurrently modified when message is shared.     *     *  <p/>The modification count is part of the <tt>toString()</tt>     *  display for Messages.     **/    protected transient volatile int modCount = 0;        /**     *  cached aggregate size of all the memeber elements. Used by     *  {@link #getByteLength()}     **/    protected transient long cachedByteLength = 0;        /**     *  modcount at the time the message length was last calculated. Used by     *  {@link #getByteLength()}     **/    protected transient int cachedByteLengthModCount = -1;            /**     *  If <tt>true</tt> then the message is modifiable. This is primarily      *  intended as a diagnostic tool for detecting concurrent modification.     *     *  @deprecated You really should not depend on this feature.     **/    public boolean modifiable = true;            /**     *  If <tt>LOG_MODIFICATIONS</tt> is <tt>true</tt> then this will contain      *  the history of modifications this message.     *     *  <p/><ul>     *      <li>     *      Values are {@link java.lang.Throwable} with the description field     *      formatted as <code>timeInAbsoluteMillis : threadName</code>.     *      </li>     *  </ul>     **/    protected transient List modHistory;        /**     *  A ListIterator for MessageElements which also provides the ability to     *  determine the namespace of the current message element. Message Elements     *  are iterated in the order in which they were added to the Message.     *     *  <p/>This ListIterator returned is not synchronized with the message. If     *  you modify the state of the Message, the iterator will throw     *  ConcurrentModificationException when <code>next()</code> or     *  <code>previous()</code> is called.     **/    public class ElementIterator implements ListIterator {                /**         * The elements being iterated.         */        ListIterator list;                /**         * The current element         */        element current = null;                /**         *  The modCount at the time when the iterator was created.         **/        transient int origModCount;                /**         * Intialize the iterator from a list iterator. The list iterator must         * be an iterator of {@link element}.         *         * @param list The ListIterator we are managing.         */        ElementIterator( ListIterator list ) {            origModCount = Message.this.getMessageModCount();            this.list = list;        }                /**         *  {@inheritDoc}         **/        public boolean hasNext() {            if( origModCount != Message.this.getMessageModCount() ) {                RuntimeException failure = new ConcurrentModificationException( Message.this + " concurrently modified. Iterator was made at mod " + origModCount );                                if (LOG.isEnabledFor(Level.ERROR)) {                    LOG.error( Message.this + " concurrently modified. iterator mod=" + origModCount + " current mod=" + Message.this.getMessageModCount() + "\n" + getMessageModHistory(), failure );                }                                throw failure;            }                        return list.hasNext();        }                /**         *  {@inheritDoc}         **/        public Object next() {            if( origModCount != Message.this.getMessageModCount() ) {                RuntimeException failure = new ConcurrentModificationException( Message.this + " concurrently modified. Iterator was made at mod " + origModCount );                                if (LOG.isEnabledFor(Level.ERROR)) {                    LOG.error( Message.this + " concurrently modified. iterator mod=" + origModCount + " current mod=" + Message.this.getMessageModCount() + "\n" + getMessageModHistory(), failure );                }                                throw failure;            }                        current = (element) list.next();            return current.element;        }                /**         *  {@inheritDoc}         **/        public int nextIndex() {            return list.nextIndex();        }                /**         *  {@inheritDoc}         **/        public boolean hasPrevious() {            if( origModCount != Message.this.getMessageModCount() ) {                RuntimeException failure = new ConcurrentModificationException( Message.this + " concurrently modified. Iterator was made at mod " + origModCount );                                if (LOG.isEnabledFor(Level.ERROR)) {                    LOG.error( Message.this + " concurrently modified. iterator mod=" + origModCount + " current mod=" + Message.this.getMessageModCount() + "\n" + getMessageModHistory(), failure );                }                                throw failure;            }                        return list.hasPrevious();        }                /**         *  {@inheritDoc}         **/        public Object previous() {            if( origModCount != Message.this.getMessageModCount() ) {                RuntimeException failure = new ConcurrentModificationException( Message.this + " concurrently modified. Iterator was made at mod " + origModCount );                                if (LOG.isEnabledFor(Level.ERROR)) {                    LOG.error( Message.this + " concurrently modified. iterator mod=" + origModCount + " current mod=" + Message.this.getMessageModCount() + "\n" + getMessageModHistory(), failure );                }                

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一二三| 亚洲精品免费播放| 26uuu国产在线精品一区二区| 91麻豆国产精品久久| 99精品国产91久久久久久| 成人丝袜高跟foot| 不卡欧美aaaaa| 99视频在线精品| 91一区在线观看| 日本高清不卡在线观看| 一本久道中文字幕精品亚洲嫩| 99视频超级精品| 91麻豆免费观看| 91成人免费在线视频| 欧美日韩一级二级| 欧美无人高清视频在线观看| 欧美性猛片xxxx免费看久爱| 欧美人妖巨大在线| 91精品国产一区二区三区| 欧美成人伊人久久综合网| 久久免费视频一区| 自拍偷拍亚洲综合| 亚洲一区二区三区四区中文字幕| 亚洲午夜久久久久久久久电影院| 无码av免费一区二区三区试看| 日韩精品一区第一页| 另类小说一区二区三区| 成人h动漫精品一区二区 | 亚洲国产高清在线| 中文字幕一区二区三区精华液| 中文字幕一区二区三区在线不卡| 一区二区三区在线不卡| 日本不卡1234视频| 成人永久看片免费视频天堂| 在线观看亚洲一区| 精品国产自在久精品国产| 日本一区二区成人| 亚洲福利电影网| 极品尤物av久久免费看| eeuss鲁片一区二区三区在线观看| 91浏览器入口在线观看| 制服丝袜一区二区三区| 久久九九99视频| 亚洲.国产.中文慕字在线| 韩国女主播一区二区三区| 一本在线高清不卡dvd| 欧美xxx久久| 亚洲欧美日韩在线不卡| 久久99国产精品久久| 97se亚洲国产综合自在线观| 3d动漫精品啪啪| 中文字幕亚洲区| 麻豆精品新av中文字幕| 91碰在线视频| 日韩欧美国产系列| 国产片一区二区| 精品国产一区二区三区四区四| 色欧美片视频在线观看在线视频| 欧美一区二区三区免费观看视频| 国产精品色在线观看| 水野朝阳av一区二区三区| 不卡大黄网站免费看| 欧美一卡二卡在线| 一区二区三区日韩欧美| 国产一区二区不卡老阿姨| 欧美日精品一区视频| 国产精品―色哟哟| 久久99久久精品| 欧美四级电影网| 中文字幕一区日韩精品欧美| 国产一区二区三区在线观看免费| 在线播放视频一区| 亚洲精品视频在线观看免费| 国v精品久久久网| 亚洲精品一线二线三线无人区| 亚洲国产精品久久久久秋霞影院| hitomi一区二区三区精品| 欧美sm极限捆绑bd| 欧美96一区二区免费视频| 欧美亚洲一区二区在线| 亚洲人成网站精品片在线观看| 国产iv一区二区三区| 精品国产髙清在线看国产毛片| 五月婷婷激情综合| 欧美性三三影院| 亚洲精品国产无天堂网2021| 99视频精品免费视频| 中文字幕巨乱亚洲| 国产馆精品极品| 久久久久久久久久电影| 韩国理伦片一区二区三区在线播放| 欧美疯狂性受xxxxx喷水图片| 一区二区三区四区精品在线视频| av一二三不卡影片| 国产精品女主播av| 成人妖精视频yjsp地址| 欧美韩国日本综合| 福利一区二区在线| 中文字幕欧美日韩一区| 国产mv日韩mv欧美| 国产精品三级电影| 大桥未久av一区二区三区中文| 国产午夜精品一区二区三区视频| 国产精品 欧美精品| 中文字幕精品一区二区三区精品| 国产不卡视频一区| 亚洲欧洲韩国日本视频| 97精品国产97久久久久久久久久久久 | 国产一区不卡在线| 久久亚洲春色中文字幕久久久| 狠狠狠色丁香婷婷综合激情 | 中文字幕av免费专区久久| 国产91露脸合集magnet| 欧美激情资源网| 97se狠狠狠综合亚洲狠狠| 亚洲美女偷拍久久| 欧美丝袜丝nylons| 青青草原综合久久大伊人精品| 欧美成人一区二区| 成人深夜福利app| 亚洲午夜在线观看视频在线| 91麻豆精品国产91久久久资源速度 | 亚洲欧美一区二区三区极速播放| 色哟哟精品一区| 日韩av中文字幕一区二区| 欧美mv和日韩mv的网站| 国产福利一区二区| 亚洲欧美日韩系列| 欧美喷潮久久久xxxxx| 久久精品国产亚洲aⅴ| 国产欧美精品一区二区色综合| 91亚洲午夜精品久久久久久| 亚洲va欧美va人人爽午夜| 欧美tickling网站挠脚心| 波多野结衣一区二区三区| 一区二区三区日韩精品视频| 91精品婷婷国产综合久久竹菊| 国产在线精品免费| 亚洲人成小说网站色在线 | 一区二区三区欧美日韩| 欧美妇女性影城| 顶级嫩模精品视频在线看| 亚洲综合清纯丝袜自拍| 日韩精品中午字幕| av激情综合网| 欧美a级理论片| 亚洲视频一区在线| 欧美一区二区久久| av资源网一区| 麻豆精品视频在线观看免费| 亚洲丝袜自拍清纯另类| 日韩欧美激情一区| 99re热这里只有精品免费视频| 日韩高清不卡一区二区| 中文字幕日韩精品一区| 欧美一区二区网站| 99久久精品免费观看| 老司机午夜精品99久久| 亚洲欧美二区三区| 欧美精品一区二区蜜臀亚洲| 91久久精品一区二区三区| 国产精品资源站在线| 午夜一区二区三区在线观看| 国产嫩草影院久久久久| 91精品国产综合久久久久| 91在线精品一区二区三区| 麻豆91免费观看| 一区2区3区在线看| 欧美国产综合一区二区| 精品久久一二三区| 欧美日韩情趣电影| 色琪琪一区二区三区亚洲区| 高清shemale亚洲人妖| 精一区二区三区| 午夜精彩视频在线观看不卡| 国产精品麻豆一区二区| 欧美成人三级在线| 欧美精品日韩综合在线| 欧洲国内综合视频| 北条麻妃国产九九精品视频| 国产寡妇亲子伦一区二区| 美女视频免费一区| 天天av天天翘天天综合网| 亚洲欧美另类久久久精品| 日本一区二区三区国色天香| 精品黑人一区二区三区久久 | 亚洲精品国产成人久久av盗摄| 国产亚洲欧洲997久久综合| 欧美成人在线直播| 欧美一区二区三区在线观看视频 | 日韩欧美在线一区二区三区| 在线一区二区三区做爰视频网站| 成人免费观看av| 成人伦理片在线| 国产成人亚洲精品青草天美| 狠狠色丁香久久婷婷综| 激情综合一区二区三区| 狠狠色伊人亚洲综合成人| 毛片av一区二区三区| 另类小说视频一区二区|