test_class.declarator: matrixParameters
test_class.modifier: private
test_class.original_string: private MultivaluedMap<String, String> matrixParameters;
test_class.type: MultivaluedMap<String, String>
test_class.var_name: matrixParameters
test_class.declarator: applicationContext
test_class.modifier: private
test_class.original_string: private ApplicationContext             applicationContext;
test_class.type: ApplicationContext
test_class.var_name: applicationContext
test_class.declarator: parameter
test_class.modifier: private
test_class.original_string: private Parameter                      parameter;
test_class.type: Parameter
test_class.var_name: parameter
test_class.declarator: typeProducer
test_class.modifier: private
test_class.original_string: private TypeProducer                   typeProducer;
test_class.type: TypeProducer
test_class.var_name: typeProducer
test_class.declarator: matrixParameterResolver
test_class.modifier: private
test_class.original_string: private MatrixParameterResolver matrixParameterResolver;
test_class.type: MatrixParameterResolver
test_class.var_name: matrixParameterResolver
test_class.file: everrest-core/src/test/java/org/everrest/core/impl/method/MatrixParameterResolverTest.java
test_class.identifier: MatrixParameterResolverTest
test_case.body: @Test
      public void returnsNullWhenListOfPathSegmentsIsEmptyAndDefaultValueIsNull() throws Exception {
          when(applicationContext.getUriInfo().getPathSegments(true)).thenReturn(newArrayList());
  
          Object resolvedMatrixParameter = matrixParameterResolver.resolve(parameter, applicationContext);
  
          assertNull(resolvedMatrixParameter);
          verify(typeProducer).createValue(eq("foo"), emptyMultivaluedMap(), (String)isNull());
      }
test_case.class_method_signature: MatrixParameterResolverTest.returnsNullWhenListOfPathSegmentsIsEmptyAndDefaultValueIsNull()
test_case.full_signature: @Test public void returnsNullWhenListOfPathSegmentsIsEmptyAndDefaultValueIsNull()
test_case.identifier: returnsNullWhenListOfPathSegmentsIsEmptyAndDefaultValueIsNull
test_case.invocations: thenReturn when getPathSegments getUriInfo newArrayList resolve assertNull createValue verify eq emptyMultivaluedMap isNull
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void returnsNullWhenListOfPathSegmentsIsEmptyAndDefaultValueIsNull()
focal_class.declarator: matrixParam
focal_class.modifier: private final
focal_class.original_string: private final MatrixParam         matrixParam;
focal_class.type: MatrixParam
focal_class.var_name: matrixParam
focal_class.declarator: typeProducerFactory
focal_class.modifier: private final
focal_class.original_string: private final TypeProducerFactory typeProducerFactory;
focal_class.type: TypeProducerFactory
focal_class.var_name: typeProducerFactory
focal_class.file: everrest-core/src/main/java/org/everrest/core/impl/method/MatrixParameterResolver.java
focal_class.identifier: MatrixParameterResolver
focal_class.interfaces: implements ParameterResolver<MatrixParam>
focal_class.class_method_signature: MatrixParameterResolver.MatrixParameterResolver(MatrixParam matrixParam, TypeProducerFactory typeProducerFactory)
focal_class.full_signature:   MatrixParameterResolver(MatrixParam matrixParam, TypeProducerFactory typeProducerFactory)
focal_class.identifier: MatrixParameterResolver
focal_class.parameters: (MatrixParam matrixParam, TypeProducerFactory typeProducerFactory)
focal_class.signature:  MatrixParameterResolver(MatrixParam matrixParam, TypeProducerFactory typeProducerFactory)
focal_class.class_method_signature: MatrixParameterResolver.resolve(org.everrest.core.Parameter parameter, ApplicationContext context)
focal_class.full_signature: @Override public Object resolve(org.everrest.core.Parameter parameter, ApplicationContext context)
focal_class.identifier: resolve
focal_class.modifiers: @Override public
focal_class.parameters: (org.everrest.core.Parameter parameter, ApplicationContext context)
focal_class.return: Object
focal_class.signature: Object resolve(org.everrest.core.Parameter parameter, ApplicationContext context)
focal_method.body: @Override
      public Object resolve(org.everrest.core.Parameter parameter, ApplicationContext context) throws Exception {
          String param = matrixParam.value();
          TypeProducer typeProducer = typeProducerFactory.createTypeProducer(parameter.getParameterClass(), parameter.getGenericType());
          List<PathSegment> pathSegments = context.getUriInfo().getPathSegments(!parameter.isEncoded());
  
          PathSegment pathSegment = Iterables.getLast(pathSegments, null);
  
          return typeProducer.createValue(param,
                                          pathSegment == null ? new MultivaluedHashMap<>() : pathSegment.getMatrixParameters(),
                                          parameter.getDefaultValue());
      }
focal_method.class_method_signature: MatrixParameterResolver.resolve(org.everrest.core.Parameter parameter, ApplicationContext context)
focal_method.full_signature: @Override public Object resolve(org.everrest.core.Parameter parameter, ApplicationContext context)
focal_method.identifier: resolve
focal_method.invocations: value createTypeProducer getParameterClass getGenericType getPathSegments getUriInfo isEncoded getLast createValue getMatrixParameters getDefaultValue
focal_method.modifiers: @Override public
focal_method.parameters: (org.everrest.core.Parameter parameter, ApplicationContext context)
focal_method.return: Object
focal_method.signature: Object resolve(org.everrest.core.Parameter parameter, ApplicationContext context)