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

📄 syncheader.java

📁 j2me sip客户端程序源码 提供了J2ME中SIP协议开发样例源码
💻 JAVA
字号:
/**
 * @(#)$RCSfile: SyncHeader.java,v $            $Revision: 1.2 $
 *
 * ====================================================================
 * Copyright 2001, Reaxion Corp.,
 * 11418 105th PL NE, Kirkland, WA, 98033, USA
 * All rights reserved.
 * ====================================================================
 *
 * The contents of this file are subject to the Mozilla Public
 * License Version 1.1 (the "License"); you may not use this file
 * except in compliance with the License. You may obtain a copy of
 * the License at http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * rights and limitations under the License.
 *
 * The Original Code is the Tequila SyncML.
 *
 * The Initial Developer of the Original Code is Reaxion Corp.
 * All Rights Reserved.
 */
package com.reaxion.tequila.syncml;

import com.reaxion.tequila.syncml.xml.IXMLNode;

/**
 * <!ELEMENT SyncHdr (VerDTD, VerProto, SessionID, MsgID, Target, Source, NoResp?)>
 * <p>
 * <pre>
 * &lt;SyncHdr&gt;
 *    &lt;VerDTD&gt;1.0&lt;/VerDTD&gt;
 *    &lt;VerProto&gt;SyncML/1.0&lt;/VerProto&gt;
 *    &lt;SessionID&gt;Session Id (int)&lt;/SessionID&gt;
 *    &lt;MsgID&gt;MsgID(int)&lt;/MsgID&gt;
 *      &lt;Target&gt;
 *          &lt;LocURI&gt;URL&lt;/LocURI&gt;
 *          ?&lt;LocName&gt;user name&lt;/LocName&gt;
 *      &lt;/Target&gt;
 *    &lt;Source&gt;
 *          &lt;LocURI&gt;URL&lt;/LocURI&gt;
 *          ?&lt;LocName&gt;user name&lt;/LocName&gt;
 *       &lt;/Source&gt;
 *  &lt;/SyncHdr&gt;
 * </pre>
 *
 * @version   $1.0$
 * @author    Oleg A. Oksyuk
 */
public class SyncHeader extends SyncElement implements ISyncNoRespOwner
{

    public static final String HDR_CMD_ID = "0";

    private SyncVerDTD verDTD;
    private SyncVerProto verProto;
    private SyncSessionId sessionID;
    private SyncMsgId msgID;
    private SyncTarget target;
    private SyncSource source;

    private boolean noResp = false;

    public SyncHeader(IXMLNode el)
    {
        super(el);
        verDTD = new SyncVerDTD(el.getChild(SyncCommandNames.VER_DTD));
        verProto = new SyncVerProto(el.getChild(SyncCommandNames.VER_PROTO));
        sessionID = new SyncSessionId(el.getChild(SyncCommandNames.SESSION_ID));
        msgID = new SyncMsgId(el.getChild(SyncCommandNames.MSG_ID));
        target = new SyncTarget(el.getChild(SyncCommandNames.TARGET));
        source = new SyncSource(el.getChild(SyncCommandNames.SOURCE));
        noResp = (null != el.getChild(SyncCommandNames.NO_RESP));
    }

    public SyncHeader(SyncVerDTD pVerDTD, SyncVerProto pVerProto,
            SyncSessionId pSessionID, SyncMsgId pMsgID,
            SyncTarget pTarget, SyncSource pSource, boolean isNoResp)
    {
        super(SyncCommandNames.HDR);
        verDTD = pVerDTD;
        verProto = pVerProto;
        sessionID = pSessionID;
        msgID = pMsgID;
        target = pTarget;
        source = pSource;
        noResp = isNoResp;
    }
    public SyncHeader(String aSessionId, String aMsgId,
        SyncTarget pTarget, SyncSource pSource, boolean isNoResp)
    {
        super(SyncCommandNames.HDR);
        verDTD = SyncCommandNames.DEF.SYNC_VER_DTD;
        verProto = SyncCommandNames.DEF.SYNC_VER_PROTO;
        sessionID = new SyncSessionId(aSessionId);
        msgID = new SyncMsgId(aMsgId);
        target = pTarget;
        source = pSource;
        noResp = isNoResp;
    }
    public SyncHeader(String aSessionId, String aMsgId,
        String pTarget, String pSource, boolean isNoResp)
    {
        super(SyncCommandNames.HDR);
        verDTD = SyncCommandNames.DEF.SYNC_VER_DTD;
        verProto = SyncCommandNames.DEF.SYNC_VER_PROTO;
        sessionID = new SyncSessionId(aSessionId);
        msgID = new SyncMsgId(aMsgId);
        target = new SyncTarget(new SyncLocUri(pTarget));
        source = new SyncSource(new SyncLocUri(pSource));
        noResp = isNoResp;
    }

    public SyncVerDTD getVerDTD()
    {
        return verDTD;
    }
    public SyncVerProto getVerProto()
    {
        return verProto;
    }
    public SyncSessionId getSessionID()
    {
        return sessionID;
    }
    public SyncMsgId getMsgID()
    {
        return msgID;
    }
    public SyncTarget getTarget()
    {
        return target;
    }
    public SyncSource getSource()
    {
        return source;
    }
    public boolean isNoResp()
    {
        return noResp;
    }

    public void setSessionID(SyncSessionId id)
    {
        sessionID = id;
    }
    public void setMsgID(SyncMsgId id)
    {
        msgID = id;
    }

    public Object getElData(int level)
    {
		StringBuffer res = new StringBuffer();
        res.append(verDTD.toString(level+1));
        res.append(verProto.toString(level+1));
        res.append(sessionID.toString(level+1));
        res.append(msgID.toString(level+1));
        res.append(target.toString(level+1));
        res.append(source.toString(level+1));
        if (noResp)
        {
            res.append(SyncCommandNames.DEF.SYNC_NO_RESP.toString(level+1));
        }
		return res;
    }
}

/* -----------------------------------------------------------------------------
 * Change log:
 * -----------------------------------------------------------------------------
 * $Log: SyncHeader.java,v $
 * Revision 1.2  2001/10/17 15:27:42  OlegO
 * changed comments for better javadoc
 *
 * Revision 1.1.1.1  2001/10/11 13:13:32  OlegO
 * no message
 *
 * Revision 1.2  2001/07/27 07:41:18  OlegO
 * no message
 *
 */

⌨️ 快捷键说明

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