test_class.declarator: testCase
test_class.modifier: private final
test_class.original_string: private final TestCase testCase;
test_class.type: TestCase
test_class.var_name: testCase
test_class.file: protoc-gen-jersey/src/test/java/com/fullcontact/rpc/jersey/PathParserTest.java
test_class.identifier: PathParserTest
test_case.body: @Test
      public void testParse() throws Exception {
          try {
              PathParser.ParsedPath parsed = PathParser.parse(testCase.path);
  
              assertEquals(testCase.expectedPath, parsed);
  
              try {
                  assertEquals(testCase.generatedPath.orElse("No generated URL expected"), parsed.toPath());
              } catch (IllegalArgumentException e) {
                  testCase.generatedPath.ifPresent(s -> fail("Expected URL but IAE generated: " + e.getMessage()));
              }
          } catch (PathParser.ParseException e) {
              testCase.generatedPath.ifPresent(s -> fail(e.getMessage()));
          }
      }
test_case.class_method_signature: PathParserTest.testParse()
test_case.full_signature: @Test public void testParse()
test_case.identifier: testParse
test_case.invocations: parse assertEquals assertEquals orElse toPath ifPresent fail getMessage ifPresent fail getMessage
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testParse()
focal_class.file: protoc-gen-jersey/src/main/java/com/fullcontact/rpc/jersey/PathParser.java
focal_class.identifier: PathParser
focal_class.class_method_signature: PathParser.parse(String path)
focal_class.full_signature: public static ParsedPath parse(String path)
focal_class.identifier: parse
focal_class.modifiers: public static
focal_class.parameters: (String path)
focal_class.return: ParsedPath
focal_class.signature: ParsedPath parse(String path)
focal_class.class_method_signature: PathParser.parseSegment(Parser parser)
focal_class.full_signature: private static Segment parseSegment(Parser parser)
focal_class.identifier: parseSegment
focal_class.modifiers: private static
focal_class.parameters: (Parser parser)
focal_class.return: Segment
focal_class.signature: Segment parseSegment(Parser parser)
focal_class.class_method_signature: PathParser.parseNamedVariable(Parser parser)
focal_class.full_signature: private static NamedVariable parseNamedVariable(Parser parser)
focal_class.identifier: parseNamedVariable
focal_class.modifiers: private static
focal_class.parameters: (Parser parser)
focal_class.return: NamedVariable
focal_class.signature: NamedVariable parseNamedVariable(Parser parser)
focal_class.class_method_signature: PathParser.parseWildcard(Parser parser)
focal_class.full_signature: private static Segment parseWildcard(Parser parser)
focal_class.identifier: parseWildcard
focal_class.modifiers: private static
focal_class.parameters: (Parser parser)
focal_class.return: Segment
focal_class.signature: Segment parseWildcard(Parser parser)
focal_class.class_method_signature: PathParser.parseLiteral(Parser parser)
focal_class.full_signature: private static Literal parseLiteral(Parser parser)
focal_class.identifier: parseLiteral
focal_class.modifiers: private static
focal_class.parameters: (Parser parser)
focal_class.return: Literal
focal_class.signature: Literal parseLiteral(Parser parser)
focal_method.body: public static ParsedPath parse(String path) {
          Parser parser = new Parser(path);
  
          List<Segment> segments = new ArrayList<>();
          while (parser.hasNext()) {
              Segment segment = parseSegment(parser);
  
              if (segment != null) {
                  segments.add(segment);
              }
          }
  
          return new ParsedPath(segments);
      }
focal_method.class_method_signature: PathParser.parse(String path)
focal_method.full_signature: public static ParsedPath parse(String path)
focal_method.identifier: parse
focal_method.invocations: hasNext parseSegment add
focal_method.modifiers: public static
focal_method.parameters: (String path)
focal_method.return: ParsedPath
focal_method.signature: ParsedPath parse(String path)