Class MessageBodyFactory.WorkerComparator<T>
- java.lang.Object
-
- org.glassfish.jersey.message.internal.MessageBodyFactory.WorkerComparator<T>
-
- Type Parameters:
T
- MessageBodyReader or MessageBodyWriter.
- All Implemented Interfaces:
java.util.Comparator<AbstractEntityProviderModel<T>>
- Enclosing class:
- MessageBodyFactory
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).
-
-
Field Summary
Fields Modifier and Type Field Description (package private) javax.ws.rs.core.MediaType
wantedMediaType
(package private) java.lang.Class
wantedType
-
Constructor Summary
Constructors Modifier Constructor Description private
WorkerComparator(java.lang.Class wantedType, javax.ws.rs.core.MediaType wantedMediaType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
-
-
Method Detail
-
compare
public int compare(AbstractEntityProviderModel<T> modelA, AbstractEntityProviderModel<T> modelB)
- Specified by:
compare
in interfacejava.util.Comparator<T>
-
getMediaTypeDistance
private int getMediaTypeDistance(javax.ws.rs.core.MediaType wanted, java.util.List<javax.ws.rs.core.MediaType> mtl)
-
compareTypeDistances
private int compareTypeDistances(java.lang.Class<?> providerClassParam1, java.lang.Class<?> providerClassParam2)
-
getTypeDistance
private int getTypeDistance(java.lang.Class<?> classParam)
-
getClassHierarchyIterator
private java.util.Iterator<java.lang.Class<?>> getClassHierarchyIterator(java.lang.Class<?> classParam)
-
-