提交 00851aea authored 作者: liupengfei's avatar liupengfei

--no commit message

上级 2de27249
......@@ -83,7 +83,8 @@ public abstract class BaseSpringContextUtils implements ApplicationContextAware,
* @author lpf
* @date: 2019年1月7日 上午11:03:08
*/
public <T> EnumsBindObject<EnumsInterface<?>> getEnumsBindObject(Class<? extends EnumsInterface<T>> enumClass, T code){
@SuppressWarnings("unchecked")
public <T,D extends EnumsInterface<T>> EnumsBindObject<D> getEnumsBindObject(Class<D> enumClass, T code){
Map<Object, List<EnumsBindObject<EnumsInterface<?>>>> map = enumsBindMap.get(enumClass);
if (map == null) {
getLog().warn("type:{},获取枚举绑定操作失败", enumClass, code);
......@@ -94,7 +95,7 @@ public abstract class BaseSpringContextUtils implements ApplicationContextAware,
getLog().warn("type:{},code:{},获取枚举绑定操作失败", enumClass, code);
return null;
}
return list.get(0);
return (EnumsBindObject<D>) list.get(0);
}
/**
......@@ -105,11 +106,31 @@ public abstract class BaseSpringContextUtils implements ApplicationContextAware,
* @author lpf
* @date: 2019年1月7日 上午11:08:44
*/
public <T> EnumsBindBean<EnumsInterface<?>> getEnumsBindBean(Class<? extends EnumsInterface<T>> enumClass, T code){
EnumsBindObject<EnumsInterface<?>> object = getEnumsBindObject(enumClass, code);
public <T,D extends EnumsInterface<T>> EnumsBindBean<D> getEnumsBindBean(Class<D> enumClass, T code){
EnumsBindObject<D> object = getEnumsBindObject(enumClass, code);
if (object == null) {
throw new RuntimeException("type:"+ enumClass +",code:"+ code +",获取枚举绑定操作失败");
}
return object.getBindBean();
}
/**
* 获取枚举绑定的操作接口并强转为target 接口
* @param enumClass
* @param code
* @param target
* @return
* @author lpf
* @date: 2019年1月7日 上午11:29:40
*/
public <T,D extends EnumsInterface<T>,B> B getEnumsBindBean(Class<D> enumClass, T code, Class<B> target) {
try {
@SuppressWarnings("unchecked")
B b = (B) getEnumsBindBean(enumClass, code);
return b;
} catch (Exception e) {
throw new RuntimeException("type:"+ enumClass +",code:"+ code +",得到对象EnumsBindBean<D>" + getEnumsBindBean(enumClass, code).getClass() +" 强转 Class<B>:" + target + "失败");
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论