test_class.declarator: providers
test_class.modifier: private
test_class.original_string: private Providers                              providers;
test_class.type: Providers
test_class.var_name: providers
test_class.declarator: listMultipartFormDataMessageBodyReader
test_class.modifier: private
test_class.original_string: private ListMultipartFormDataMessageBodyReader listMultipartFormDataMessageBodyReader;
test_class.type: ListMultipartFormDataMessageBodyReader
test_class.var_name: listMultipartFormDataMessageBodyReader
test_class.file: everrest-core/src/test/java/org/everrest/core/impl/provider/multipart/ListMultipartFormDataMessageBodyReaderTest.java
test_class.identifier: ListMultipartFormDataMessageBodyReaderTest
test_case.body: @Test
      public void readsListOfInputItems() throws Exception {
          Class type = List.class;
          ParameterizedType genericType = newParameterizedType(List.class, InputItem.class);
          Annotation[] annotations = new Annotation[0];
          MediaType mediaType = MULTIPART_FORM_DATA_TYPE;
          MultivaluedMap<String, String> headers = new MultivaluedHashMap<>();
          InputStream in = mock(InputStream.class);
  
          FileItem fileItem = createFileItem("fileItem1");
          MessageBodyReader fileItemReader = createFileItemMessageBodyReader(annotations, mediaType, headers, in, fileItem);
          when(providers.getMessageBodyReader(eq(Iterator.class), eq(newParameterizedType(Iterator.class, FileItem.class)), aryEq(annotations), eq(mediaType)))
                  .thenReturn(fileItemReader);
  
          List<InputItem> inputItems = listMultipartFormDataMessageBodyReader.readFrom(type, genericType, annotations, mediaType, headers, in);
          assertEquals(1, inputItems.size());
          assertEquals(fileItem.getFieldName(), inputItems.get(0).getName());
      }
test_case.class_method_signature: ListMultipartFormDataMessageBodyReaderTest.readsListOfInputItems()
test_case.full_signature: @Test public void readsListOfInputItems()
test_case.identifier: readsListOfInputItems
test_case.invocations: newParameterizedType mock createFileItem createFileItemMessageBodyReader thenReturn when getMessageBodyReader eq eq newParameterizedType aryEq eq readFrom assertEquals size assertEquals getFieldName getName get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void readsListOfInputItems()
focal_class.declarator: providers
focal_class.modifier: private final
focal_class.original_string: private final Providers providers;
focal_class.type: Providers
focal_class.var_name: providers
focal_class.file: everrest-core/src/main/java/org/everrest/core/impl/provider/multipart/ListMultipartFormDataMessageBodyReader.java
focal_class.identifier: ListMultipartFormDataMessageBodyReader
focal_class.interfaces: implements MessageBodyReader<List<InputItem>>
focal_class.class_method_signature: ListMultipartFormDataMessageBodyReader.ListMultipartFormDataMessageBodyReader(@Context Providers providers)
focal_class.full_signature: public  ListMultipartFormDataMessageBodyReader(@Context Providers providers)
focal_class.identifier: ListMultipartFormDataMessageBodyReader
focal_class.modifiers: public
focal_class.parameters: (@Context Providers providers)
focal_class.signature:  ListMultipartFormDataMessageBodyReader(@Context Providers providers)
focal_class.class_method_signature: ListMultipartFormDataMessageBodyReader.isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
focal_class.full_signature: @Override public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
focal_class.identifier: isReadable
focal_class.modifiers: @Override public
focal_class.parameters: (Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
focal_class.return: boolean
focal_class.signature: boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType)
focal_class.class_method_signature: ListMultipartFormDataMessageBodyReader.readFrom(Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
focal_class.full_signature: @Override public List<InputItem> readFrom(Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
focal_class.identifier: readFrom
focal_class.modifiers: @Override public
focal_class.parameters: (Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
focal_class.return: List<InputItem>
focal_class.signature: List<InputItem> readFrom(Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
focal_method.body: @Override
      public List<InputItem> readFrom(Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
              throws IOException, WebApplicationException {
          final Type fileItemIteratorGenericType = ParameterizedTypeImpl.newParameterizedType(Iterator.class, FileItem.class);
          final MessageBodyReader<Iterator> multipartReader =
                  providers.getMessageBodyReader(Iterator.class, fileItemIteratorGenericType, annotations, mediaType);
          final Iterator iterator =
                  multipartReader.readFrom(Iterator.class, fileItemIteratorGenericType, annotations, mediaType, httpHeaders, entityStream);
          final List<InputItem> result = new LinkedList<>();
          while (iterator.hasNext()) {
              result.add(new DefaultInputItem((FileItem)iterator.next(), providers));
          }
          return result;
      }
focal_method.class_method_signature: ListMultipartFormDataMessageBodyReader.readFrom(Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
focal_method.full_signature: @Override public List<InputItem> readFrom(Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
focal_method.identifier: readFrom
focal_method.invocations: newParameterizedType getMessageBodyReader readFrom hasNext add next
focal_method.modifiers: @Override public
focal_method.parameters: (Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)
focal_method.return: List<InputItem>
focal_method.signature: List<InputItem> readFrom(Class<List<InputItem>> type, Type genericType, Annotation[] annotations, MediaType mediaType,
                                      MultivaluedMap<String, String> httpHeaders, InputStream entityStream)