Android Open Source - msghandle Message Event Source From Project Back to project page msghandle .
License The source code is released under:
GNU General Public License
If you think the Android project msghandle listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.anlong.msghandle.event;
/ / w w w . j a v a 2 s . c o m
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
import android.util.Log;
/**
* @ClassName: MessageEventSource
* @Package: com.anlong.imsghandle.event
* @company ShenZhen anlong Technology CO.,LTD.
* @Description: TODO ??????
* @author anlong
* @date 2013-4-26 ????7:40:19
* @version V1.0
*/
public class MessageEventSource {
private static MessageEventSource instance ;
private Map<Short, Vector<MessageEventListener>> msgMap = new HashMap<Short, Vector<MessageEventListener>>();
public static MessageEventSource getSingleton(){
if (instance == null){
instance = new MessageEventSource();
}
return instance;
}
/**
* @Title: addLinstener
* @Description: TODO ??????
* @author anlong
* @param bCode
* @param listener
* @return void
* @throws
*/
public synchronized void addLinstener(Short bCode, MessageEventListener listener){
Vector<MessageEventListener> vector = msgMap.get(bCode);
if (null == vector){
vector = new Vector<MessageEventListener>();
msgMap.put(bCode, vector);
}
if (!vector.contains(listener)){
vector.addElement(listener);
}
}
/**
* @Title: removeLinstener
* @Description: TODO ??????
* @author anlong
* @param bCode
* @param listener
* @return void
* @throws
*/
public synchronized void removeLinstener(Short bCode, MessageEventListener listener){
if (msgMap!=null){
Vector<MessageEventListener> vector = msgMap.get(bCode);
if (vector != null){
vector.removeElement(listener);
}
}
}
/**
* @Title: removeLinstener
* @Description: TODO ??????
* @author anlong
* @param listener
* @return void
* @throws
*/
public synchronized void removeLinstener(MessageEventListener listener){
if (msgMap!=null){
Set<Short> keySet = msgMap.keySet();
for (Short key : keySet) {
Vector<MessageEventListener> vector = msgMap.get(key);
vector.removeElement(listener);
}
}
}
/**
* @Title: removeAllListener
* @Description: TODO ????????
* @author anlong
* @param
* @return void
* @throws
*/
public synchronized void removeAllListener(){
if (msgMap!=null){
msgMap.clear();
}
}
/**
* @Title: dispatcherEvent
* @Description: TODO ??????
* @author anlong
* @param @param event
* @return void
* @throws
*/
public void notifyMessageEvent(MessageEvent event) throws Exception {
try {
if (event!=null&&msgMap!=null){
Vector<MessageEventListener> vector=msgMap.get(event.getbCode());
if (vector!=null){
Enumeration<MessageEventListener> enumeration= vector.elements();
MessageEventListener listener = null;
while (enumeration.hasMoreElements()) {
listener = enumeration.nextElement();
listener.handleMessageEvent(event);
}
}else {
Log.e("MessageEventSource" , "????????" +event.getbCode()+" " );
}
}else {
Log.e("MessageEventSource" , "???????" +event.getbCode());
}
} catch (Exception e) {
throw e;
}
}
}
Java Source Code List com.anlong.msghandle.common.BaseMessage.java com.anlong.msghandle.common.HandleStaticValue.java com.anlong.msghandle.common.HandleTimer.java com.anlong.msghandle.common.MessageTimer.java com.anlong.msghandle.event.MessageEventListener.java com.anlong.msghandle.event.MessageEventSource.java com.anlong.msghandle.event.MessageEvent.java com.anlong.msghandle.file.InitImageFileServer.java com.anlong.msghandle.handle.ImageRequestHandle.java com.anlong.msghandle.handle.ImageResponseHandle.java com.anlong.msghandle.handle.MsgRequestHandle.java com.anlong.msghandle.handle.MsgResponseHandle.java com.anlong.msghandle.impl.AppParamImpl.java com.anlong.msghandle.impl.AppSystemMessageReportImpl.java com.anlong.msghandle.impl.AuthenticationImpl.java com.anlong.msghandle.impl.BroadcastImpl.java com.anlong.msghandle.impl.CommonContactImpl.java com.anlong.msghandle.impl.DepImpl.java com.anlong.msghandle.impl.DepInfoListImpl.java com.anlong.msghandle.impl.EditGroupImpl.java com.anlong.msghandle.impl.EditGroupUserImpl.java com.anlong.msghandle.impl.EditUserInfoImpl.java com.anlong.msghandle.impl.ExitPreventGroupImpl.java com.anlong.msghandle.impl.GetGroupInfoImpl.java com.anlong.msghandle.impl.GetHistoryMessageImpl.java com.anlong.msghandle.impl.GetUserInfoImpl105.java com.anlong.msghandle.impl.GroupInfoListImpl.java com.anlong.msghandle.impl.GroupShareImpl.java com.anlong.msghandle.impl.HeartImpl103.java com.anlong.msghandle.impl.LocationImpl.java com.anlong.msghandle.impl.LoginImpl101.java com.anlong.msghandle.impl.MessageStateReportImpl.java com.anlong.msghandle.impl.OnlineStateImpl102.java com.anlong.msghandle.impl.OnlineUserListImpl110.java com.anlong.msghandle.impl.SendImageFile.java com.anlong.msghandle.impl.SendMessageImpl203.java com.anlong.msghandle.impl.SystemParaImpl.java com.anlong.msghandle.impl.UnreadMessageImpl.java com.anlong.msghandle.impl.UpdatePasswordImpl.java com.anlong.msghandle.impl.UserInfoListImpl.java com.anlong.msghandle.interfac.AbstractMsgHandle.java com.anlong.msghandle.interfac.BaseActivity.java com.anlong.msghandle.interfac.MessageHandleActivity.java com.anlong.msghandle.interfac.MsgHandle.java com.anlong.msghandle.message.InitRequMessageServer.java com.anlong.msghandle.message.InitRespMessageServer.java com.anlong.msghandle.request.BaseRequest.java com.anlong.msghandle.request.Request100.java com.anlong.msghandle.request.Request101.java com.anlong.msghandle.request.Request102.java com.anlong.msghandle.request.Request103.java com.anlong.msghandle.request.Request105.java com.anlong.msghandle.request.Request110.java com.anlong.msghandle.request.Request203.java com.anlong.msghandle.request.Request301.java com.anlong.msghandle.response.BaseResponse.java com.anlong.msghandle.response.Response1000.java com.anlong.msghandle.response.Response1010.java com.anlong.msghandle.response.Response1020.java com.anlong.msghandle.response.Response1030.java com.anlong.msghandle.response.Response1050.java com.anlong.msghandle.response.Response1100.java com.anlong.msghandle.response.Response2030.java com.anlong.msghandle.response.Response3010.java com.anlong.msghandle.service.InitServerManager.java com.anlong.msghandle.service.ServerManager.java com.anlong.msghandle.socket.InitFileSocketServer.java com.anlong.msghandle.socket.InitMsgSocketServer.java com.anlong.msghandle.util.ByteAndInt.java com.anlong.msghandle.util.FormatTransfer.java com.anlong.msghandle.util.IMLog.java com.anlong.msghandle.util.ReflectionUtil.java com.anlong.msghandle.util.Utils.java com.anlong.msghandle.vo.AppMessage.java com.anlong.msghandle.vo.Application.java com.anlong.msghandle.vo.BroadcastMessage.java com.anlong.msghandle.vo.DepInfo.java com.anlong.msghandle.vo.GroupInfo.java com.anlong.msghandle.vo.GroupShare.java com.anlong.msghandle.vo.OnlineUser.java com.anlong.msghandle.vo.ReportState.java com.anlong.msghandle.vo.SimpleUserInfo.java com.anlong.msghandle.vo.UserInfo.java com.anlong.msghandle.vo.UserMessage.java