Class MessageBodyFactory.WorkerComparator<T>

java.lang.Object
org.glassfish.jersey.message.internal.MessageBodyFactory.WorkerComparator<T>
Type Parameters:
T - MessageBodyReader or MessageBodyWriter.
All Implemented Interfaces:
Comparator<AbstractEntityProviderModel<T>>
Enclosing class:
MessageBodyFactory

private static class MessageBodyFactory.WorkerComparator<T> extends Object implements 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).
See Also:
  • Field Details

    • wantedType

      final Class wantedType
    • wantedMediaType

      final javax.ws.rs.core.MediaType wantedMediaType
  • Constructor Details

    • WorkerComparator

      private WorkerComparator(Class wantedType, javax.ws.rs.core.MediaType wantedMediaType)
  • Method Details

    • compare

      public int compare(AbstractEntityProviderModel<T> modelA, AbstractEntityProviderModel<T> modelB)
      Specified by:
      compare in interface Comparator<T>
    • getMediaTypeDistance

      private int getMediaTypeDistance(javax.ws.rs.core.MediaType wanted, List<javax.ws.rs.core.MediaType> mtl)
    • compareTypeDistances

      private int compareTypeDistances(Class<?> providerClassParam1, Class<?> providerClassParam2)
    • getTypeDistance

      private int getTypeDistance(Class<?> classParam)
    • getClassHierarchyIterator

      private Iterator<Class<?>> getClassHierarchyIterator(Class<?> classParam)