📄 dynamicdiscoverydb.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 + -