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

📄 dynamicdiscoverydb.java

📁 cisco-2950交换机的应用程序的源代码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   DynamicDiscoveryDb.java

package cisco.dsbu.cms.boot.internal;

import cisco.dsbu.cms.boot.external.DynamicDiscoveryListener;
import java.util.*;

public class DynamicDiscoveryDb
{

    private Map implementationMap;
    private Map listenerMap;

    public DynamicDiscoveryDb()
    {
        implementationMap = new HashMap();
        listenerMap = new HashMap();
    }

    synchronized void addDiscovered(String s, String s1)
    {
        Object obj = (List)implementationMap.get(s);
        if(obj == null)
        {
            obj = new ArrayList();
            implementationMap.put(s, obj);
        }
        if(!((List) (obj)).contains(s1))
        {
            ((List) (obj)).add(s1);
            notify(s, ((List) (obj)), ((List) (obj)).size() - 1);
        }
    }

    synchronized void removeDiscovered(String s, String s1)
    {
        List list = (List)implementationMap.get(s);
        if(list != null)
            list.remove(s1);
    }

    private synchronized void notify(String s, List list, int i)
    {
        List list1 = (List)listenerMap.get(s);
        if(list1 == null)
            return;
        List list2 = list.subList(i, list.size());
        List list3 = Collections.unmodifiableList(list2);
        DynamicDiscoveryListener dynamicdiscoverylistener;
        for(Iterator iterator = list1.iterator(); iterator.hasNext(); dynamicdiscoverylistener.discovered(s, list3))
            dynamicdiscoverylistener = (DynamicDiscoveryListener)iterator.next();

    }

    private synchronized void notify(DynamicDiscoveryListener dynamicdiscoverylistener, String s)
    {
        List list = (List)implementationMap.get(s);
        if(list == null)
        {
            return;
        } else
        {
            List list1 = Collections.unmodifiableList(list);
            dynamicdiscoverylistener.discovered(s, list1);
            return;
        }
    }

    public synchronized void addListener(DynamicDiscoveryListener dynamicdiscoverylistener, String s)
    {
        if(s == null || dynamicdiscoverylistener == null)
            return;
        Object obj = (List)listenerMap.get(s);
        if(obj == null)
        {
            obj = new LinkedList();
            listenerMap.put(s, obj);
        }
        if(!((List) (obj)).contains(dynamicdiscoverylistener))
        {
            ((List) (obj)).add(dynamicdiscoverylistener);
            notify(dynamicdiscoverylistener, s);
        }
    }

    public synchronized void removeListener(DynamicDiscoveryListener dynamicdiscoverylistener, String s)
    {
        if(s == null || dynamicdiscoverylistener == null)
            return;
        List list = (List)listenerMap.get(s);
        if(list != null)
            list.remove(dynamicdiscoverylistener);
    }
}

⌨️ 快捷键说明

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