test_class.file: agent/plugins/servlet-plugin/src/test/java/org/glowroot/agent/plugin/servlet/_/StringsTest.java
test_class.identifier: StringsTest
test_case.body: @Test
      public void shouldSplit() {
          assertThat(Strings.split("c,s,v", ',')).contains("c", "s", "v");
          assertThat(Strings.split("c.s.v", '.')).contains("c", "s", "v");
          assertThat(Strings.split("c,s,v,", ',')).contains("c", "s", "v");
          assertThat(Strings.split("  , csv , x, y ", ',')).contains("csv", "x", "y");
          assertThat(Strings.split(",,,", ',')).isEmpty();
      }
test_case.class_method_signature: StringsTest.shouldSplit()
test_case.full_signature: @Test public void shouldSplit()
test_case.identifier: shouldSplit
test_case.invocations: contains assertThat split contains assertThat split contains assertThat split contains assertThat split isEmpty assertThat split
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldSplit()
focal_class.file: agent/plugins/servlet-plugin/src/main/java/org/glowroot/agent/plugin/servlet/_/Strings.java
focal_class.identifier: Strings
focal_class.class_method_signature: Strings.Strings()
focal_class.full_signature: private  Strings()
focal_class.identifier: Strings
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  Strings()
focal_class.class_method_signature: Strings.nullToEmpty(@Nullable String string)
focal_class.full_signature: public static String nullToEmpty(@Nullable String string)
focal_class.identifier: nullToEmpty
focal_class.modifiers: public static
focal_class.parameters: (@Nullable String string)
focal_class.return: String
focal_class.signature: String nullToEmpty(@Nullable String string)
focal_class.class_method_signature: Strings.split(String string, char c)
focal_class.full_signature: public static List<String> split(String string, char c)
focal_class.identifier: split
focal_class.modifiers: public static
focal_class.parameters: (String string, char c)
focal_class.return: List<String>
focal_class.signature: List<String> split(String string, char c)
focal_method.body: public static List<String> split(String string, char c) {
          List<String> list = new ArrayList<String>();
          int lastFoundIndex = -1;
          int nextFoundIndex;
          while ((nextFoundIndex = string.indexOf(c, lastFoundIndex + 1)) != -1) {
              String value = string.substring(lastFoundIndex + 1, nextFoundIndex).trim();
              if (!value.isEmpty()) {
                  list.add(value);
              }
              lastFoundIndex = nextFoundIndex;
          }
          String value = string.substring(lastFoundIndex + 1).trim();
          if (!value.isEmpty()) {
              list.add(value);
          }
          return list;
      }
focal_method.class_method_signature: Strings.split(String string, char c)
focal_method.full_signature: public static List<String> split(String string, char c)
focal_method.identifier: split
focal_method.invocations: indexOf trim substring isEmpty add trim substring isEmpty add
focal_method.modifiers: public static
focal_method.parameters: (String string, char c)
focal_method.return: List<String>
focal_method.signature: List<String> split(String string, char c)