package com.aegis.notification.service.channel;

import com.aegis.notification.domain.Notification;

/**
 * 通知渠道适配器接口
 * 
 * @author aegis
 */
public interface INotificationChannel {
    
    /**
     * 发送通知
     * 
     * @param notification 通知对象
     * @return 是否发送成功
     */
    boolean send(Notification notification);
    
    /**
     * 获取渠道名称
     * 
     * @return 渠道名称
     */
    String getChannelName();
    
    /**
     * 是否支持该渠道
     * 
     * @param channel 渠道代码
     * @return 是否支持
     */
    boolean supports(String channel);
}