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

📄 basereadernotificationimpl.java

📁 First of all, the Applet-phone is a SIP User-Agent with audio and text messaging capabilities. But
💻 JAVA
字号:
/* * BadgeAsynchronousThreadImpl.java * * Created on August 1, 2003, 5:49 PM */package gov.nist.examples.bps.reader;import java.util.*;import gov.nist.examples.bps.reader.baselistener.*;import gov.nist.examples.bps.reader.presence.*;/** * * @author  Deruelle Olivier */public class BaseReaderNotificationImpl extends Thread implements BadgeNotification {        private Vector activeBadges;    protected Vector garbageBadgesList;    protected BaseReader baseReader;        /** Creates a new instance of BadgeAsynchronousThreadImpl */    public BaseReaderNotificationImpl(BaseReader baseReader) {        activeBadges=new Vector();        garbageBadgesList=new Vector();        this.baseReader=baseReader;    }        /*     *  Called everytime a badge is received     */    public void processBadge(Badge badge) {        try{             BaseReaderDebug.println("Badge Notification received: - ID hex: "+badge.getBadgeIdHex()+" ; Id dec: "+           badge.getBadgeId() );                                if ( !hasActiveBadge(badge) ) {                 addActiveBadge(badge);                                  BadgeGarbageThread badgeGarbageThread=new BadgeGarbageThread(badge,this);                 badgeGarbageThread.start();                 garbageBadgesList.addElement(badgeGarbageThread);            }            else {                for (int i=0;i< garbageBadgesList.size();i++) {                    BadgeGarbageThread badgeGarbageThread=(BadgeGarbageThread)                    garbageBadgesList.elementAt(i);                    if  ( badgeGarbageThread.badge.getBadgeId().equals(badge.getBadgeId()) )                        badgeGarbageThread.registered=true;                }            }                   }        catch(Exception e) {            e.printStackTrace();        }    }          public  boolean hasActiveBadge(Badge badgeParam) {        synchronized ( activeBadges) {            for (int i=0;i<activeBadges.size();i++) {                Badge badge=(Badge)activeBadges.elementAt(i);                if  ( badge.getBadgeId().equals(badgeParam.getBadgeId()) )                    return true;            }            return false;        }    }            public void addActiveBadge(Badge badge) {          synchronized ( activeBadges) {              activeBadges.addElement(badge);                            BaseReaderDebug.println("###########################################"+              "###################################################################");              BaseReaderDebug.println("BaseReaderNotificationImpl, addBadge(),"+              " we added the badge: "+badge.getBadgeId() );              BaseReaderDebug.println("###########################################"+              "###################################################################");                            PresenceManager presenceManager=baseReader.getPresenceManager();              String xmlBody="<?xml version='1.0' encoding='us-ascii'?>\n"+              "<badges>\n";              for (int i=0;i<activeBadges.size();i++) {                  Badge badgeT=(Badge)activeBadges.elementAt(i);                  xmlBody+=badgeT.toXMLString()+"\n";              }              xmlBody+="</badges>\n";              presenceManager.sendNotifyToAllSubscribers(xmlBody);          }      }            public void removeActiveBadge(Badge badge) {          synchronized ( activeBadges) {              activeBadges.remove(badge);                            BaseReaderDebug.println("###########################################"+              "###################################################################");              BaseReaderDebug.println("BaseReaderNotificationImpl, removeBadge(),"+              " we removed the badge: "+badge.getBadgeId() );              BaseReaderDebug.println("###########################################"+              "###################################################################");                                          PresenceManager presenceManager=baseReader.getPresenceManager();              String xmlBody="<?xml version='1.0' encoding='us-ascii'?>\n"+              "<badges>\n";              for (int i=0;i<activeBadges.size();i++) {                  Badge badgeT=(Badge)activeBadges.elementAt(i);                  xmlBody+=badgeT.toXMLString()+"\n";              }              xmlBody+="</badges>\n";              presenceManager.sendNotifyToAllSubscribers(xmlBody);          }      }        public Vector getActiveBadges() {        synchronized ( activeBadges) {            return activeBadges;        }    }         public String getActiveBadgesXMLBody() {        synchronized ( activeBadges) {              String xmlBody="<?xml version='1.0' encoding='us-ascii'?>\n"+              "<badges>\n";              for (int i=0;i<activeBadges.size();i++) {                  Badge badgeT=(Badge)activeBadges.elementAt(i);                  xmlBody+=badgeT.toXMLString()+"\n";              }              xmlBody+="</badges>\n";              return xmlBody;        }    } }

⌨️ 快捷键说明

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