private static void addTopLines(StringBuilder builder, int middleWordPos, int loopLinePosition) { builder.append(LINE_SEPARATOR); addHorizontalLine(builder, middleWordPos, loopLinePosition); addLine(builder, "||", middleWordPos, loopLinePosition); addLine(builder, "\\/", middleWordPos, loopLinePosition); }
private static String format(List<Class> path, Class startClass) { if (path.size() == 0) { throw new IllegalArgumentException(); } int classPosition = Math.max(path.indexOf(startClass), 0); path = path.subList(classPosition, path.size()); int maxWordLength = findLongestClassNameLength(path); int middleWordPos = maxWordLength / 2 + MARGIN_SIZE; int loopLinePosition = maxWordLength + 2 * MARGIN_SIZE; StringBuilder builder = new StringBuilder(); addTopLines(builder, middleWordPos, loopLinePosition); for (Class clazz : path) { addLine(builder, clazz.getName(), middleWordPos, loopLinePosition); addLine(builder, "||", middleWordPos, loopLinePosition); } addHorizontalLine(builder, middleWordPos, loopLinePosition); return builder.toString(); }
private static void addTopLines(StringBuilder builder, int middleWordPos, int loopLinePosition) { builder.append(LINE_SEPARATOR); addHorizontalLine(builder, middleWordPos, loopLinePosition); addLine(builder, "||", middleWordPos, loopLinePosition); addLine(builder, "\\/", middleWordPos, loopLinePosition); }
private static String format(List<Class> path, Class startClass) { if (path.size() == 0) { throw new IllegalArgumentException(); } int classPosition = Math.max(path.indexOf(startClass), 0); path = path.subList(classPosition, path.size()); int maxWordLength = findLongestClassNameLength(path); int middleWordPos = maxWordLength / 2 + MARGIN_SIZE; int loopLinePosition = maxWordLength + 2 * MARGIN_SIZE; StringBuilder builder = new StringBuilder(); addTopLines(builder, middleWordPos, loopLinePosition); for (Class clazz : path) { addLine(builder, clazz.getName(), middleWordPos, loopLinePosition); addLine(builder, "||", middleWordPos, loopLinePosition); } addHorizontalLine(builder, middleWordPos, loopLinePosition); return builder.toString(); }