package org.ssssssss.magicapi.redis;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 *
 * @since 3.0.0
 * @author 冰点
 */
@Getter
@AllArgsConstructor
public enum RedisConnectionType {

    /**
     * 单机部署(默认)
     */
    STANDALONE("standalone", "单机部署"),

    /**
     * 哨兵部署
     */
    SENTINEL("sentinel", "哨兵部署"),

    /**
     * 集群部署方式
     */
    CLUSTER("cluster", "集群方式"),

    /**
     * 主从部署方式
     */
    MASTERSLAVE("masterslave", "主从部署");

    /**
     * 类型
     */
    private final String type;
    /**
     * 名称
     */
    private final String name;

    /**
     * 根据type查询枚举
     *
     * @param type 类型
     * @return 链接类型
     */
    public static RedisConnectionType match(String type) {
        RedisConnectionType[] values = RedisConnectionType.values();
        for (RedisConnectionType connectionType : values) {
            if (connectionType.type.equals(type)) {
                return connectionType;
            }
        }
        return null;
    }
}
