protected static int compareClasses(Object o1, Object o2) { return compareClasses(null, o1, o2); } protected static int compareClasses(Class<?> expectedCls, Object o1, Object o2) {
public int compare(Object em1, Object em2) { return compareClasses(expectedCls, em1, em2); } }
public int compare(Object em1, Object em2) { return compareClasses(expectedCls, em1, em2); }
public int compare(ProviderInfo<MessageBodyReader<?>> p1, ProviderInfo<MessageBodyReader<?>> p2) { MessageBodyReader<?> e1 = p1.getProvider(); MessageBodyReader<?> e2 = p2.getProvider(); List<MediaType> types1 = JAXRSUtils.getProviderConsumeTypes(e1); types1 = JAXRSUtils.sortMediaTypes(types1, null); List<MediaType> types2 = JAXRSUtils.getProviderConsumeTypes(e2); types2 = JAXRSUtils.sortMediaTypes(types2, null); int result = JAXRSUtils.compareSortedMediaTypes(types1, types2, null); if (result != 0) { return result; } result = compareClasses(e1, e2); if (result != 0) { return result; } result = compareCustomStatus(p1, p2); if (result != 0) { return result; } return comparePriorityStatus(p1.getProvider().getClass(), p2.getProvider().getClass()); } }
public int compare(ProviderInfo<MessageBodyWriter<?>> p1, ProviderInfo<MessageBodyWriter<?>> p2) { MessageBodyWriter<?> e1 = p1.getProvider(); MessageBodyWriter<?> e2 = p2.getProvider(); int result = compareClasses(e1, e2); if (result != 0) { return result; } List<MediaType> types1 = JAXRSUtils.sortMediaTypes(JAXRSUtils.getProviderProduceTypes(e1), JAXRSUtils.MEDIA_TYPE_QS_PARAM); List<MediaType> types2 = JAXRSUtils.sortMediaTypes(JAXRSUtils.getProviderProduceTypes(e2), JAXRSUtils.MEDIA_TYPE_QS_PARAM); result = JAXRSUtils.compareSortedMediaTypes(types1, types2, JAXRSUtils.MEDIA_TYPE_QS_PARAM); if (result != 0) { return result; } result = compareCustomStatus(p1, p2); if (result != 0) { return result; } return comparePriorityStatus(p1.getProvider().getClass(), p2.getProvider().getClass()); } }