T
- MessageBodyReader or MessageBodyWriter.private static class MessageBodyFactory.WorkerComparator<T> extends java.lang.Object implements java.util.Comparator<AbstractEntityProviderModel<T>>
AbstractEntityProviderModel
comparator
which works as it is described in JAX-RS 2.x specification.
Pairs are sorted by distance from required type, media type and custom/provided (provided goes first).Modifier and Type | Field and Description |
---|---|
(package private) javax.ws.rs.core.MediaType |
wantedMediaType |
(package private) java.lang.Class |
wantedType |
Modifier | Constructor and Description |
---|---|
private |
WorkerComparator(java.lang.Class wantedType,
javax.ws.rs.core.MediaType wantedMediaType) |
Modifier and Type | Method and Description |
---|---|
int |
compare(AbstractEntityProviderModel<T> modelA,
AbstractEntityProviderModel<T> modelB) |
private int |
compareTypeDistances(java.lang.Class<?> providerClassParam1,
java.lang.Class<?> providerClassParam2) |
private java.util.Iterator<java.lang.Class<?>> |
getClassHierarchyIterator(java.lang.Class<?> classParam) |
private int |
getMediaTypeDistance(javax.ws.rs.core.MediaType wanted,
java.util.List<javax.ws.rs.core.MediaType> mtl) |
private int |
getTypeDistance(java.lang.Class<?> classParam) |
final java.lang.Class wantedType
final javax.ws.rs.core.MediaType wantedMediaType
private WorkerComparator(java.lang.Class wantedType, javax.ws.rs.core.MediaType wantedMediaType)
public int compare(AbstractEntityProviderModel<T> modelA, AbstractEntityProviderModel<T> modelB)
compare
in interface java.util.Comparator<AbstractEntityProviderModel<T>>
private int getMediaTypeDistance(javax.ws.rs.core.MediaType wanted, java.util.List<javax.ws.rs.core.MediaType> mtl)
private int compareTypeDistances(java.lang.Class<?> providerClassParam1, java.lang.Class<?> providerClassParam2)
private int getTypeDistance(java.lang.Class<?> classParam)
private java.util.Iterator<java.lang.Class<?>> getClassHierarchyIterator(java.lang.Class<?> classParam)