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

📄 documentstack.java

📁 j2me sip客户端程序源码 提供了J2ME中SIP协议开发样例源码
💻 JAVA
字号:
/**
 * @(#)$RCSfile: DocumentStack.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.sync.stack;

import java.util.*;

import com.reaxion.tequila.syncml.*;
import com.reaxion.tequila.syncml.util.*;

/**
 * This class is necessary to remember all commands for current document
 * that was sent through current session of synchronization.
 * Contains references on DocumentStepStack classes.
 *
 * @version   $1.0$
 * @author    Oleg A. Oksyuk
 */
public class DocumentStack
{

    private Hashtable stepStacks = new Hashtable();
    private String dbName;

    public DocumentStack(String aDbName)
    {
        dbName = aDbName;
    }

    public String getDbName()
    {
        return dbName;
    }

    synchronized void addCommand(String msgId, SyncTargetOwner command)
    {
        Log.println("        $addCommand:"+msgId+":"+command.getCmdId().getCmdId());
        DocumentStepStack stepStack = (DocumentStepStack) stepStacks.get(msgId);
        if (null == stepStack)
        {
            stepStack = new DocumentStepStack(dbName);
            stepStacks.put(msgId, stepStack);
        }
        stepStack.addCommand(command);
    }

    public synchronized StackCommand getCommand(String msgId, String cmdId)
    {
        Log.println("        $getCommand:"+msgId+":"+cmdId);
        DocumentStepStack stepStack = (DocumentStepStack) stepStacks.get(msgId);
        if (null == stepStack)
        {
            Log.println("          $stepStack=null => return null");
            return null;
        }
        StackCommand stackCommand = stepStack.getCommand(cmdId);
        Log.println("          $return"+stackCommand);
        return stackCommand;
    }

    public synchronized boolean hasNonRepliedCommands()
    {
        Enumeration keys = stepStacks.keys();
        DocumentStepStack stepStack;
        while (keys.hasMoreElements())
        {
            stepStack = (DocumentStepStack) stepStacks.get(keys.nextElement());
            if (stepStack.hasNonRepliedCommands())
            {
                return true;
            }
        }
        return false;
    }
}

/* -----------------------------------------------------------------------------
 * Change log:
 * -----------------------------------------------------------------------------
 * $Log: DocumentStack.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.1  2001/07/24 13:08:18  OlegO
 * no message
 *
 */

⌨️ 快捷键说明

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