RockerUtil { static public List<String> stringIntoChunks(String s, int chunkSize) { if (s.length() <= chunkSize) { return Arrays.asList(s); } List<String> strings = new ArrayList<>(); for (int offset = 0; offset < s.length(); ) { int chunkLength = chunkSize; if ((offset + chunkLength) > s.length()) { chunkLength = s.length() - offset; } String chunk = s.substring(offset, offset+chunkLength); strings.add(chunk); offset += chunkLength; } return strings; }  static boolean isJava8Plus(TemplateModel model); static boolean isJavaIdentifier(String identifier); static String pathToPackageName(Path path); static Path packageNameToPath(String packageName); static boolean isRelativePath(Path baseDir, Path file); static int countChars(String value, char ch); static boolean isWhitespaceNoLineBreak(char c); static boolean isWhitespace(char c); static boolean isWhitespace(String s); static String consoleFriendlyText(String s); static String templateNameToName(String templateName); static ContentType templateNameToContentType(String templateName); static Collection<File> listFileTree(File dir); static String qualifiedClassName(Object obj); static String qualifiedClassName(Class<?> type); static String unqualifiedClassName(Object obj); static String unqualifiedClassName(Class<?> type); static String chompClosureOpen(String expr); static String chompClosureAssignmentOpen(String expr); static List<String> stringIntoChunks(String s, int chunkSize); static List<String> getTextAsJavaByteArrayInitializer(String text, String charsetName, int maxArraySize); static void appendByteAsJavaByteInitializer(StringBuilder sb, byte b); static String md5(File f); static String byteArrayToHex(byte[] a); static final CharSequenceTranslator ESCAPE_JAVA; }
@Test public void stringIntoChunks() { List<String> chunks; chunks = RockerUtil.stringIntoChunks("sj", 1); Assert.assertEquals(2, chunks.size()); Assert.assertEquals("s", chunks.get(0)); Assert.assertEquals("j", chunks.get(1)); }