test_class.file: unix4j-core/unix4j-base/src/test/java/org/unix4j/util/StringUtilTest.java
test_class.identifier: StringUtilTest
test_case.body: @Test
  	public void testSplitLines() {
  		final String[] input = {
  				"hello\nworld",	
  				"hello\r\nworld", 
  				"hello\n\r\r\nworld",
  				"hello\n\r\r\nworld\n",
  				"hello\n\r\r\nworld\n\n",
  			};
  		final Line[][] expected = {
  				{new SimpleLine("hello", "\n"), new SimpleLine("world", "")},
  				{new SimpleLine("hello", "\r\n"), new SimpleLine("world", "")},
  				{new SimpleLine("hello", "\n\r"), new SimpleLine("", "\r\n"), new SimpleLine("world", "")},
  				{new SimpleLine("hello", "\n\r"), new SimpleLine("", "\r\n"), new SimpleLine("world", "\n")},
  				{new SimpleLine("hello", "\n\r"), new SimpleLine("", "\r\n"), new SimpleLine("world", "\n"), new SimpleLine("", "\n")},
  			};
  		for (int i = 0; i < input.length; i++) {
  			final List<Line> actual = StringUtil.splitLines(input[i]);
  			Assert.assertEquals(Arrays.asList(expected[i]), actual);
  		}
  	}
test_case.class_method_signature: StringUtilTest.testSplitLines()
test_case.full_signature: @Test public void testSplitLines()
test_case.identifier: testSplitLines
test_case.invocations: splitLines assertEquals asList
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSplitLines()
focal_class.file: unix4j-core/unix4j-base/src/main/java/org/unix4j/util/StringUtil.java
focal_class.identifier: StringUtil
focal_class.class_method_signature: StringUtil.fixSizeString(int size, boolean alignLeft,
  			char filler, long value)
focal_class.full_signature: public static String fixSizeString(int size, boolean alignLeft,
  			char filler, long value)
focal_class.identifier: fixSizeString
focal_class.modifiers: public static
focal_class.parameters: (int size, boolean alignLeft,
  			char filler, long value)
focal_class.return: String
focal_class.signature: String fixSizeString(int size, boolean alignLeft,
  			char filler, long value)
focal_class.class_method_signature: StringUtil.fixSizeString(int size, boolean alignLeft,
  			String s)
focal_class.full_signature: public static String fixSizeString(int size, boolean alignLeft,
  			String s)
focal_class.identifier: fixSizeString
focal_class.modifiers: public static
focal_class.parameters: (int size, boolean alignLeft,
  			String s)
focal_class.return: String
focal_class.signature: String fixSizeString(int size, boolean alignLeft,
  			String s)
focal_class.class_method_signature: StringUtil.fixSizeString(int size, boolean alignLeft,
  			char filler, String s)
focal_class.full_signature: public static String fixSizeString(int size, boolean alignLeft,
  			char filler, String s)
focal_class.identifier: fixSizeString
focal_class.modifiers: public static
focal_class.parameters: (int size, boolean alignLeft,
  			char filler, String s)
focal_class.return: String
focal_class.signature: String fixSizeString(int size, boolean alignLeft,
  			char filler, String s)
focal_class.class_method_signature: StringUtil.splitLines(String s)
focal_class.full_signature: public static List<Line> splitLines(String s)
focal_class.identifier: splitLines
focal_class.modifiers: public static
focal_class.parameters: (String s)
focal_class.return: List<Line>
focal_class.signature: List<Line> splitLines(String s)
focal_class.class_method_signature: StringUtil.findStartTrimWhitespace(CharSequence s)
focal_class.full_signature: public static int findStartTrimWhitespace(CharSequence s)
focal_class.identifier: findStartTrimWhitespace
focal_class.modifiers: public static
focal_class.parameters: (CharSequence s)
focal_class.return: int
focal_class.signature: int findStartTrimWhitespace(CharSequence s)
focal_class.class_method_signature: StringUtil.findStartTrimWhitespace(CharSequence s, int start)
focal_class.full_signature: public static int findStartTrimWhitespace(CharSequence s, int start)
focal_class.identifier: findStartTrimWhitespace
focal_class.modifiers: public static
focal_class.parameters: (CharSequence s, int start)
focal_class.return: int
focal_class.signature: int findStartTrimWhitespace(CharSequence s, int start)
focal_class.class_method_signature: StringUtil.findEndTrimWhitespace(CharSequence s)
focal_class.full_signature: public static int findEndTrimWhitespace(CharSequence s)
focal_class.identifier: findEndTrimWhitespace
focal_class.modifiers: public static
focal_class.parameters: (CharSequence s)
focal_class.return: int
focal_class.signature: int findEndTrimWhitespace(CharSequence s)
focal_class.class_method_signature: StringUtil.findStartTrimNewlineChars(CharSequence s)
focal_class.full_signature: public static int findStartTrimNewlineChars(CharSequence s)
focal_class.identifier: findStartTrimNewlineChars
focal_class.modifiers: public static
focal_class.parameters: (CharSequence s)
focal_class.return: int
focal_class.signature: int findStartTrimNewlineChars(CharSequence s)
focal_class.class_method_signature: StringUtil.findStartTrimNewlineChars(CharSequence s, int start)
focal_class.full_signature: public static int findStartTrimNewlineChars(CharSequence s, int start)
focal_class.identifier: findStartTrimNewlineChars
focal_class.modifiers: public static
focal_class.parameters: (CharSequence s, int start)
focal_class.return: int
focal_class.signature: int findStartTrimNewlineChars(CharSequence s, int start)
focal_class.class_method_signature: StringUtil.findEndTrimNewlineChars(CharSequence s)
focal_class.full_signature: public static int findEndTrimNewlineChars(CharSequence s)
focal_class.identifier: findEndTrimNewlineChars
focal_class.modifiers: public static
focal_class.parameters: (CharSequence s)
focal_class.return: int
focal_class.signature: int findEndTrimNewlineChars(CharSequence s)
focal_class.class_method_signature: StringUtil.findWhitespace(CharSequence s)
focal_class.full_signature: public static int findWhitespace(CharSequence s)
focal_class.identifier: findWhitespace
focal_class.modifiers: public static
focal_class.parameters: (CharSequence s)
focal_class.return: int
focal_class.signature: int findWhitespace(CharSequence s)
focal_class.class_method_signature: StringUtil.findWhitespace(CharSequence s, int start)
focal_class.full_signature: public static int findWhitespace(CharSequence s, int start)
focal_class.identifier: findWhitespace
focal_class.modifiers: public static
focal_class.parameters: (CharSequence s, int start)
focal_class.return: int
focal_class.signature: int findWhitespace(CharSequence s, int start)
focal_class.class_method_signature: StringUtil.containsIgnoreCase(String source, String target)
focal_class.full_signature: public static boolean containsIgnoreCase(String source, String target)
focal_class.identifier: containsIgnoreCase
focal_class.modifiers: public static
focal_class.parameters: (String source, String target)
focal_class.return: boolean
focal_class.signature: boolean containsIgnoreCase(String source, String target)
focal_class.class_method_signature: StringUtil.startsWithIgnoreCase(String s, String prefix)
focal_class.full_signature: public static boolean startsWithIgnoreCase(String s, String prefix)
focal_class.identifier: startsWithIgnoreCase
focal_class.modifiers: public static
focal_class.parameters: (String s, String prefix)
focal_class.return: boolean
focal_class.signature: boolean startsWithIgnoreCase(String s, String prefix)
focal_class.class_method_signature: StringUtil.indexOfIgnoreCase(String source, String target)
focal_class.full_signature: public static int indexOfIgnoreCase(String source, String target)
focal_class.identifier: indexOfIgnoreCase
focal_class.modifiers: public static
focal_class.parameters: (String source, String target)
focal_class.return: int
focal_class.signature: int indexOfIgnoreCase(String source, String target)
focal_class.class_method_signature: StringUtil.indexOfIgnoreCase(String source, String target,
  			int maxIndex)
focal_class.full_signature: private static int indexOfIgnoreCase(String source, String target,
  			int maxIndex)
focal_class.identifier: indexOfIgnoreCase
focal_class.modifiers: private static
focal_class.parameters: (String source, String target,
  			int maxIndex)
focal_class.return: int
focal_class.signature: int indexOfIgnoreCase(String source, String target,
  			int maxIndex)
focal_class.class_method_signature: StringUtil.equalsIgnoreCase(char ch1, char ch2)
focal_class.full_signature: public static boolean equalsIgnoreCase(char ch1, char ch2)
focal_class.identifier: equalsIgnoreCase
focal_class.modifiers: public static
focal_class.parameters: (char ch1, char ch2)
focal_class.return: boolean
focal_class.signature: boolean equalsIgnoreCase(char ch1, char ch2)
focal_class.class_method_signature: StringUtil.StringUtil()
focal_class.full_signature: private  StringUtil()
focal_class.identifier: StringUtil
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  StringUtil()
focal_method.body: public static List<Line> splitLines(String s) {
  		final List<Line> lines = new ArrayList<Line>();
  		int start = 0;
  		int index = 0;
  		while (index < s.length()) {
  			final char ch = s.charAt(index);
  			if (ch == Line.LF || ch == Line.CR) {
  				final int lineEndingStart = index;
  				index++;
  				if (index < s.length()) {
  					final char ch2 = s.charAt(index);
  					if (ch2 != ch && (ch2 == Line.LF || ch2 == Line.CR)) {
  						index++;
  					}
  				}
  				final Line line = new SingleCharSequenceLine(s, start,
  						lineEndingStart - start, index - lineEndingStart);
  				lines.add(line);
  				start = index;
  			} else {
  				index++;
  			}
  		}
  		if (start < s.length()) {
  			final Line line = new SingleCharSequenceLine(s, start, s.length()
  					- start, 0);
  			lines.add(line);
  		}
  		return lines;
  	}
focal_method.class_method_signature: StringUtil.splitLines(String s)
focal_method.full_signature: public static List<Line> splitLines(String s)
focal_method.identifier: splitLines
focal_method.invocations: length charAt length charAt add length length add
focal_method.modifiers: public static
focal_method.parameters: (String s)
focal_method.return: List<Line>
focal_method.signature: List<Line> splitLines(String s)