test_class.file: app/src/test/java/org/hwyl/sexytopo/control/io/thirdparty/xvi/XviImporterTest.java
test_class.identifier: XviImporterTest
test_case.body: @Test
      public void testParseBlockEntriesMultipleWithWhitespace() throws Exception {
          String simpleText = "\t{foo}\n   {bar}";
          List<String> contents = XviImporter.parseBlockEntries(simpleText);
          Assert.assertEquals("foo", contents.get(0));
          Assert.assertEquals("bar", contents.get(1));
      }
test_case.class_method_signature: XviImporterTest.testParseBlockEntriesMultipleWithWhitespace()
test_case.full_signature: @Test public void testParseBlockEntriesMultipleWithWhitespace()
test_case.identifier: testParseBlockEntriesMultipleWithWhitespace
test_case.invocations: parseBlockEntries assertEquals get assertEquals get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testParseBlockEntriesMultipleWithWhitespace()
focal_class.declarator: instance = new XviImporter()
focal_class.modifier: private static
focal_class.original_string: private static XviImporter instance = new XviImporter();
focal_class.type: XviImporter
focal_class.var_name: instance
focal_class.file: app/src/main/java/org/hwyl/sexytopo/control/io/thirdparty/xvi/XviImporter.java
focal_class.identifier: XviImporter
focal_class.class_method_signature: XviImporter.toSurvey(File file)
focal_class.full_signature: public Survey toSurvey(File file)
focal_class.identifier: toSurvey
focal_class.modifiers: public
focal_class.parameters: (File file)
focal_class.return: Survey
focal_class.signature: Survey toSurvey(File file)
focal_class.class_method_signature: XviImporter.getSketch(File file)
focal_class.full_signature: public static Sketch getSketch(File file)
focal_class.identifier: getSketch
focal_class.modifiers: public static
focal_class.parameters: (File file)
focal_class.return: Sketch
focal_class.signature: Sketch getSketch(File file)
focal_class.class_method_signature: XviImporter.canHandleFile(File file)
focal_class.full_signature: public boolean canHandleFile(File file)
focal_class.identifier: canHandleFile
focal_class.modifiers: public
focal_class.parameters: (File file)
focal_class.return: boolean
focal_class.signature: boolean canHandleFile(File file)
focal_class.class_method_signature: XviImporter.parseGrid(String contents)
focal_class.full_signature: public Grid parseGrid(String contents)
focal_class.identifier: parseGrid
focal_class.modifiers: public
focal_class.parameters: (String contents)
focal_class.return: Grid
focal_class.signature: Grid parseGrid(String contents)
focal_class.class_method_signature: XviImporter.parseSketchlineBlock(double scale, String contents)
focal_class.full_signature: public static Set<PathDetail> parseSketchlineBlock(double scale, String contents)
focal_class.identifier: parseSketchlineBlock
focal_class.modifiers: public static
focal_class.parameters: (double scale, String contents)
focal_class.return: Set<PathDetail>
focal_class.signature: Set<PathDetail> parseSketchlineBlock(double scale, String contents)
focal_class.class_method_signature: XviImporter.parseBlockEntries(String content)
focal_class.full_signature: public static List<String> parseBlockEntries(String content)
focal_class.identifier: parseBlockEntries
focal_class.modifiers: public static
focal_class.parameters: (String content)
focal_class.return: List<String>
focal_class.signature: List<String> parseBlockEntries(String content)
focal_class.class_method_signature: XviImporter.parseSketchEntry(double scale, String entry)
focal_class.full_signature: public static PathDetail parseSketchEntry(double scale, String entry)
focal_class.identifier: parseSketchEntry
focal_class.modifiers: public static
focal_class.parameters: (double scale, String entry)
focal_class.return: PathDetail
focal_class.signature: PathDetail parseSketchEntry(double scale, String entry)
focal_class.class_method_signature: XviImporter.getBlockContents(String text, String command)
focal_class.full_signature: public static String getBlockContents(String text, String command)
focal_class.identifier: getBlockContents
focal_class.modifiers: public static
focal_class.parameters: (String text, String command)
focal_class.return: String
focal_class.signature: String getBlockContents(String text, String command)
focal_class.superclass: extends Importer
focal_method.body: public static List<String> parseBlockEntries(String content) {
          List<String> entries = new ArrayList<>();
          Pattern pattern = Pattern.compile("\\{(.*?)\\}");
          Matcher matcher = pattern.matcher(content);
          while (matcher.find()) {
              entries.add(matcher.group(1));
          }
          return entries;
      }
focal_method.class_method_signature: XviImporter.parseBlockEntries(String content)
focal_method.full_signature: public static List<String> parseBlockEntries(String content)
focal_method.identifier: parseBlockEntries
focal_method.invocations: compile matcher find add group
focal_method.modifiers: public static
focal_method.parameters: (String content)
focal_method.return: List<String>
focal_method.signature: List<String> parseBlockEntries(String content)