/** * Appends a separator if the builder is currently non-empty. * Appending a null separator will have no effect. * The separator is appended using {@link #append(String)}. * <p> * This method is useful for adding a separator each time around the * loop except the first. * <pre> * for (Iterator it = list.iterator(); it.hasNext(); ) { * appendSeparator(","); * append(it.next()); * } * </pre> * Note that for this simple example, you should use * {@link #appendWithSeparators(Iterable, String)}. * * @param separator the separator to use, null means no separator * @return this, to enable chaining * @since 2.3 */ public StrBuilder appendSeparator(final String separator) { return appendSeparator(separator, null); }
@Test public void testAppendSeparator_char_char() { final StrBuilder sb = new StrBuilder(); final char startSeparator = ':'; final char standardSeparator = ','; final String foo = "foo"; sb.appendSeparator(standardSeparator, startSeparator); // no effect assertEquals(String.valueOf(startSeparator), sb.toString()); sb.append(foo); assertEquals(String.valueOf(startSeparator) + foo, sb.toString()); sb.appendSeparator(standardSeparator, startSeparator); assertEquals(String.valueOf(startSeparator) + foo + standardSeparator, sb.toString()); }
@Test public void testAppendSeparator_char_int() { final StrBuilder sb = new StrBuilder(); sb.appendSeparator(',', 0); // no effect assertEquals("", sb.toString()); sb.append("foo"); assertEquals("foo", sb.toString()); sb.appendSeparator(',', 1); assertEquals("foo,", sb.toString()); sb.appendSeparator(',', -1); // no effect assertEquals("foo,", sb.toString()); }
@Test public void testAppendSeparator_String_String() { final StrBuilder sb = new StrBuilder(); final String startSeparator = "order by "; final String standardSeparator = ","; final String foo = "foo"; sb.appendSeparator(null, null); assertEquals("", sb.toString()); sb.appendSeparator(standardSeparator, null); assertEquals("", sb.toString()); sb.appendSeparator(standardSeparator, startSeparator); assertEquals(startSeparator, sb.toString()); sb.appendSeparator(null, null); assertEquals(startSeparator, sb.toString()); sb.appendSeparator(null, startSeparator); assertEquals(startSeparator, sb.toString()); sb.append(foo); assertEquals(startSeparator + foo, sb.toString()); sb.appendSeparator(standardSeparator, startSeparator); assertEquals(startSeparator + foo + standardSeparator, sb.toString()); }
@Test public void testAppendSeparator_String_int() { final StrBuilder sb = new StrBuilder(); sb.appendSeparator(",", 0); // no effect assertEquals("", sb.toString()); sb.append("foo"); assertEquals("foo", sb.toString()); sb.appendSeparator(",", 1); assertEquals("foo,", sb.toString()); sb.appendSeparator(",", -1); // no effect assertEquals("foo,", sb.toString()); }
@Test public void testAppendSeparator_char() { final StrBuilder sb = new StrBuilder(); sb.appendSeparator(','); // no effect assertEquals("", sb.toString()); sb.append("foo"); assertEquals("foo", sb.toString()); sb.appendSeparator(','); assertEquals("foo,", sb.toString()); } @Test
@Test public void testAppendSeparator_String() { final StrBuilder sb = new StrBuilder(); sb.appendSeparator(","); // no effect assertEquals("", sb.toString()); sb.append("foo"); assertEquals("foo", sb.toString()); sb.appendSeparator(","); assertEquals("foo,", sb.toString()); }
/** * Appends a separator if the builder is currently non-empty. * Appending a null separator will have no effect. * The separator is appended using {@link #append(String)}. * <p> * This method is useful for adding a separator each time around the * loop except the first. * <pre> * for (Iterator it = list.iterator(); it.hasNext(); ) { * appendSeparator(","); * append(it.next()); * } * </pre> * Note that for this simple example, you should use * {@link #appendWithSeparators(Iterable, String)}. * * @param separator the separator to use, null means no separator * @return this, to enable chaining * @since 2.3 */ public StrBuilder appendSeparator(final String separator) { return appendSeparator(separator, null); }
/** * Appends a separator if the builder is currently non-empty. * Appending a null separator will have no effect. * The separator is appended using {@link #append(String)}. * <p> * This method is useful for adding a separator each time around the * loop except the first. * <pre> * for (Iterator it = list.iterator(); it.hasNext(); ) { * appendSeparator(","); * append(it.next()); * } * </pre> * Note that for this simple example, you should use * {@link #appendWithSeparators(Iterable, String)}. * * @param separator the separator to use, null means no separator * @return this, to enable chaining * @since 2.3 */ public StrBuilder appendSeparator(final String separator) { return appendSeparator(separator, null); }
/** * Appends a separator if the builder is currently non-empty. * Appending a null separator will have no effect. * The separator is appended using {@link #append(String)}. * <p> * This method is useful for adding a separator each time around the * loop except the first. * <pre> * for (Iterator it = list.iterator(); it.hasNext(); ) { * appendSeparator(","); * append(it.next()); * } * </pre> * Note that for this simple example, you should use * {@link #appendWithSeparators(Iterable, String)}. * * @param separator the separator to use, null means no separator * @return this, to enable chaining * @since 2.3 */ public StrBuilder appendSeparator(final String separator) { return appendSeparator(separator, null); }
/** * Adds text to the list using {@link Object_To_StrBuilder}. * The method works as follows: * * - test object for being a {@link IsDocumentElement}, throw illegal argument exception if that's the case, * - otherwise use {@link Object_To_StrBuilder}. * * Null objects in clusters are silently ignored. * Blank strings are processed like any other string (they do not impact the text anyway). * * The method is recursive for iterators, iterables, and arrays. * Care needs to be taken that the provided clusters do not lead to endless loops. * * @param obj object with text for the list * @throws NullPointerException if the argument was null * @throws IllegalArgumentException if the argument was blank */ protected void setText(Object obj){ Validate.notNull(obj); if((obj instanceof IsDocumentElement)){ throw new IllegalArgumentException("cannot add " + obj.getClass().getSimpleName() + " as text to a list"); } this.text.appendSeparator(' ').append(Object_To_StrBuilder.convert(obj)); }
valueBuffer.appendSeparator(", "); valueBuffer.append(values[index]);
sb.appendSeparator(' ').append(((HasText)obj).getText()); if(collection!=null){ for(String s : collection){ sb.appendSeparator(' ').append(s); sb.appendSeparator(' ').append(((ST)obj).render()); sb.appendSeparator(' ').append(((DoesRender)obj).render()); sb.appendSeparator(' ').append(((DoesRenderToWidth)obj).render(80)); if(collection!=null){ for(String s : collection){ sb.appendSeparator(' ').append(s); if(collection!=null){ for(String s : collection){ sb.appendSeparator(' ').append(s); sb.appendSeparator(' ').append(obj);
private void appendEscapedAndQuoted(final StrBuilder sb, final String value) { boolean foundLineBreak = false; sb.appendSeparator(delimiter);
/** * Returns a label constructed of labels for each given level. * @param levels the levels, each entry marks the number for the given level * @param separator the separator between numbers, can be null * @param useSepOnLast use true if the last number gets a separator, false if not * @return label string, unless overwritten this will be null if the max level is not -1 * @throws IllegalArgumentException if any requested level is not supported */ default String getLabel(int[] levels, String separator, boolean useSepOnLast){ Validate.notNull(levels); if(this.getMaxLevel()==-1){ StrBuilder ret = new StrBuilder(); for(int l : levels){ ret.appendSeparator(separator); ret.append(this.getLabel(l)); } if(useSepOnLast){ ret.append(separator); } return ret.toString(); } return null; }
@Override public String getLabel(int[] levels, String separator, boolean useSepOnLast){ String simple = TA_EnumerateList.super.getLabel(levels, separator, useSepOnLast); if(simple!=null){ return simple; } Validate.notNull(levels); Validate.validState(numbering.length>=levels.length, "the required levels are going deeper than the provided numbering: levels <" + levels.length + "> provided <" + numbering.length + ">"); StrBuilder ret = new StrBuilder(); for(int i=0; i<levels.length; i++){ ret.appendSeparator(separator); ret.append(numbering[i].getNumber(levels[i])); } if(useSepOnLast){ ret.append(separator); } return ret.toString(); }
for(int i=0; i<topLines; i++){ topList.add(ar[i].trim()); replace.appendSeparator(' ').append(ar[i]);