package com.fanruan.api.decision.auth.bean; import com.fr.decision.authorize.Passport; import com.fr.decision.webservice.bean.authentication.PassportBean; import com.fr.third.fasterxml.jackson.annotation.JsonTypeInfo; /** * @author richie * @version 10.0 * Created by richie on 2019-09-19 * 用于表示不同认证方式的接口 */ @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class") public abstract class BasePassportBean extends PassportBean { /** * 用于标记认证类型的字符串 * * @return 字符串 */ @Override public abstract String markType(); /** * 根据配置对象生成认证配置数据层对象 * * @param t 配置对象 * @return 配属数据层 */ @Override public abstract BasePassportBean createPassportBean(T t); /** * 生成配置对象 * * @return 配置 */ @Override public abstract Passport createPassport(); }