Class ReaderModel


public final class ReaderModel extends AbstractEntityProviderModel<MessageBodyReader>
Since:
2.16
Author:
Marek Potociar
  • Constructor Details

    • ReaderModel

      public ReaderModel(MessageBodyReader provider, List<MediaType> types, Boolean custom)
      Create new reader model instance. NOTE: This constructor is package-private on purpose.
      Parameters:
      provider - modelled message body reader instance.
      types - supported media types as declared in @Consumes annotation attached to the provider class.
      custom - custom flag.
  • Method Details

    • isReadable

      public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
      Safely invokes isReadable method on the underlying provider. Any exceptions will be logged at finer level.
      Parameters:
      type - the class of instance to be produced.
      genericType - the type of instance to be produced. E.g. if the message body is to be converted into a method parameter, this will be the formal type of the method parameter as returned by Method.getGenericParameterTypes.
      annotations - an array of the annotations on the declaration of the artifact that will be initialized with the produced instance. E.g. if the message body is to be converted into a method parameter, this will be the annotations on that parameter returned by Method.getParameterAnnotations.
      mediaType - the media type of the HTTP entity, if one is not specified in the request then application/octet-stream is used.
      Returns:
      true if the type is supported, otherwise false.