All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jladder.web.EventBus Maven / Gradle / Ivy

There is a newer version: 5.0.44
Show newest version
package com.jladder.web;

import com.jladder.lang.func.Func3;

import java.util.HashMap;
import java.util.Map;


/**
 * 事件总线
 */
public class EventBus {

    /**
     * 登录事件
     */
    public static final int Event_Login=1002;
    /**
     * 更新配置事件
     */
    public static final int Event_UpdateConfig=2001;


    /**
     * 登录事件
     */
    public static final int Event_Seq=12;

    private static final Map> events=new HashMap>();

    /**
     * 放置事件处理
     * @param code 事件代码
     * @param fun 回调函数
     */
    public static void put(int code,Func3 fun){
        events.put(code,fun);
    }

    public static boolean have(int code){
       return events.get(code) != null;
    }
    /**
     * 获取事件处理
     * @param code 事件代码
     * @return
     */
    public static Func3 get(int code){
        return events.get(code);
    }

    /**
     * 执行事件
     * @param code 事件代码
     * @param sender 发起者
     * @param data 数据对象
     * @return
     */
    public static Object execute(int code,Object sender,Object data){
        Func3 fun = events.get(code);
        if(fun==null)return null;
        try {
           return fun.invoke(sender,data);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy