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  . ja v a  2s .  c  om
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