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

com.anji.plus.gaea.push.enums.PushEnum Maven / Gradle / Ivy

There is a newer version: 2.9.4.1
Show newest version
package com.anji.plus.gaea.push.enums;

import com.anji.plus.gaea.push.type.dingding.GaeaDingTalkTemplate;
import com.anji.plus.gaea.push.type.email.GaeaMailTemplate;
import com.anji.plus.gaea.push.type.sms.SmsPushDetails;
import org.apache.commons.lang3.EnumUtils;

import java.util.List;

/**
 * @ClassName PushEnum
 * @Description: 消息推送枚举类
 * @Author dingkaiqiang
 * @Date 2021-04-06
 * @Version V1.0
 **/
public enum PushEnum {

    /**
     * mail:邮件; dingtalk:钉钉 sms:短信;
     */
    EMAIL("mail", GaeaMailTemplate.class),
    DING_DING("dingtalk", GaeaDingTalkTemplate.class),
    SMS("sms", SmsPushDetails.class);


    /**
     * 消息类型
     */
    private String type;


    /**
     * 发送消息类对应  的class
     */
    private Class aClass;


    PushEnum(String type, Class aClass) {
        this.type = type;
        this.aClass = aClass;
    }

    private static List allSector = EnumUtils.getEnumList(PushEnum.class);


    /**
     * 根据class 获取到具体的 value
     * @param type
     * @return
     */
    public static Class getClassByType(String type) {
        for (PushEnum sectorEnum : allSector) {
            if (sectorEnum.getType().equals(type)) {
                return sectorEnum.getaClass();
            }
        }
        return null;
    }


    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Class getaClass() {
        return aClass;
    }

    public void setaClass(Class aClass) {
        this.aClass = aClass;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy