protected List<ContextResolver<?>> sortedList(Map<ProviderKey, ContextResolver<?>> providerMap, MediaType targetMediaType) {
List<ContextResolver<?>> contextResolvers = new ArrayList<>(providerMap.values());
Collections.sort(contextResolvers, new Comparator<ContextResolver<?>>() {
public int compare(ContextResolver<?> cr1, ContextResolver<?> cr2) {
Set<String> providerMediaTypes1 = mediaTypes(cr1.getClass().getAnnotationsByType(Produces.class));
Set<String> providerMediaTypes2 = mediaTypes(cr2.getClass().getAnnotationsByType(Produces.class));
int score1 = relevanceScore(providerMediaTypes1, targetMediaType);
int score2 = relevanceScore(providerMediaTypes2, targetMediaType);
if (score1 == score2)
return 0;
return (score2 - score1) < 0 ? -1 : 1;
}
});
return contextResolvers;
}
DefaultProviderFilter.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:geeMVC-Java-MVC-Framework
作者:
评论列表
文章目录