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

com.ursful.framework.mina.common.InterfaceManager Maven / Gradle / Ivy

There is a newer version: 3.0.12
Show newest version
package com.ursful.framework.mina.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 类名:InterfaceManager
 * 创建者:huangyonghua
 * 日期:2019/2/28 14:14
 * 版权:Hymake Copyright(c) 2017
 * 说明:[类说明必填内容,请修改]
 */
public class InterfaceManager {
    private static Map> interfaces = new HashMap>();

    public static  List getObjects(Class clazz){
        List list = new ArrayList();
        List temp = (List)interfaces.get(clazz);
        if(temp != null){
            list.addAll(temp);
        }
        return list;
    }

    public static void register(Object object){
        Class [] classes = object.getClass().getInterfaces();
        for(Class clazz : classes){
            List objects = interfaces.get(clazz);
            if(objects == null){
                objects = new ArrayList();
            }
            if(!objects.contains(object)){
                objects.add(object);
                interfaces.put(clazz, objects);
            }
        }
    }

    public static void deregister(Object object){
        Class [] classes = object.getClass().getInterfaces();
        for(Class clazz : classes){
            List objects = interfaces.get(clazz);
            if(objects != null){
                if(objects.contains(object)){
                    objects.remove(object);
                    interfaces.put(clazz, objects);
                }
            }
        }
    }
}