/** * A {@link Collector} implementation that joins {@link CodeBlock} instances together into one * separated by {@code separator}. For example, joining {@code String s}, {@code Object o} and * {@code int i} using {@code ", "} would produce {@code String s, Object o, int i}. */ public static Collector<CodeBlock, ?, CodeBlock> joining(String separator) { return Collector.of( () -> new CodeBlockJoiner(separator, builder()), CodeBlockJoiner::add, CodeBlockJoiner::merge, CodeBlockJoiner::join); }
/** * A {@link Collector} implementation that joins {@link CodeBlock} instances together into one * separated by {@code separator}. For example, joining {@code String s}, {@code Object o} and * {@code int i} using {@code ", "} would produce {@code String s, Object o, int i}. */ public static Collector<CodeBlock, ?, CodeBlock> joining( String separator, String prefix, String suffix) { Builder builder = builder().add("$N", prefix); return Collector.of( () -> new CodeBlockJoiner(separator, builder), CodeBlockJoiner::add, CodeBlockJoiner::merge, joiner -> { builder.add(CodeBlock.of("$N", suffix)); return joiner.join(); }); }
/** * A {@link Collector} implementation that joins {@link CodeBlock} instances together into one * separated by {@code separator}. For example, joining {@code String s}, {@code Object o} and * {@code int i} using {@code ", "} would produce {@code String s, Object o, int i}. */ public static Collector<CodeBlock, ?, CodeBlock> joining(String separator) { return Collector.of( () -> new CodeBlockJoiner(separator, builder()), CodeBlockJoiner::add, CodeBlockJoiner::merge, CodeBlockJoiner::join); }
/** * A {@link Collector} implementation that joins {@link CodeBlock} instances together into one * separated by {@code separator}. For example, joining {@code String s}, {@code Object o} and * {@code int i} using {@code ", "} would produce {@code String s, Object o, int i}. */ public static Collector<CodeBlock, ?, CodeBlock> joining( String separator, String prefix, String suffix) { Builder builder = builder().add("$N", prefix); return Collector.of( () -> new CodeBlockJoiner(separator, builder), CodeBlockJoiner::add, CodeBlockJoiner::merge, joiner -> { builder.add(CodeBlock.of("$N", suffix)); return joiner.join(); }); }
/** * A {@link Collector} implementation that joins {@link CodeBlock} instances together into one * separated by {@code separator}. For example, joining {@code String s}, {@code Object o} and * {@code int i} using {@code ", "} would produce {@code String s, Object o, int i}. */ public static Collector<CodeBlock, ?, CodeBlock> joining( String separator, String prefix, String suffix) { Builder builder = builder().add("$N", prefix); return Collector.of( () -> new CodeBlockJoiner(separator, builder), CodeBlockJoiner::add, CodeBlockJoiner::merge, joiner -> { builder.add(CodeBlock.of("$N", suffix)); return joiner.join(); }); }
/** * A {@link Collector} implementation that joins {@link CodeBlock} instances together into one * separated by {@code separator}. For example, joining {@code String s}, {@code Object o} and * {@code int i} using {@code ", "} would produce {@code String s, Object o, int i}. */ public static Collector<CodeBlock, ?, CodeBlock> joining(String separator) { return Collector.of( () -> new CodeBlockJoiner(separator, builder()), CodeBlockJoiner::add, CodeBlockJoiner::merge, CodeBlockJoiner::join); }