Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package bpiwowar.argparser.utils;
  
  import java.util.Iterator;
  
Output utilities

Author(s):
bpiwowar
 
 public class Output {
 
 	// ===== Using a print stream output =====
 	static public interface PrintFormatter<T> {
 		void print(PrintStream out, T t);
 	}
 
 	private static final class NullPrintFormatter<T> implements
 		public void print(PrintStream out, T t) {
 			out.print(t);
 		}
 	}
 
 	static public <T, U extends Iterator<? extends T>> void print(
 			PrintStream outString separator, U iterator) {
 		print(outseparatoriteratornew NullPrintFormatter<T>());
 	}
 	
 
 	final public static <T> void print(PrintStream outString separator, T[] fieldsPrintFormatter<T> formatter) {
 		print(outseparator, ListAdaptator.create(fields).iterator(), formatter);
 	}
 
 	
 	final static public <T, U extends Iterable<? extends T>> void print(
 			PrintStream outString separator, U iterable,
 			PrintFormatter<T> printer) {
 		print(outseparatoriterable.iterator(), printer);
 	}
 	
 	final static public <T, U extends Iterator<? extends T>> void print(
 			PrintStream outString separator, U iterator,
 			PrintFormatter<T> printer) {
 		boolean first = true;
 		while (iterator.hasNext()) {
 			T t = iterator.next();
 			if (first)
 				first = false;
 			else
 				out.print(separator);
 			
 			printer.print(outt);
 		}
 	}
 
 	
 	// ===== Using a formatter =====
 
 	private static final class NullFormatter<T> implements Formatter<T> {
 		public String format(T t) {
 			return t.toString();
 		}
 	}
 
 	static public <T> void print(PrintStream outString separator,
 			Iterable<T> iterable) {
 		print(outseparatoriterable.iterator(), new NullFormatter<T>());
 	}
 
 	public static <T> void print(PrintStream outString separator, T[] fields) {
 		print(outseparatorfieldsnew NullFormatter<T>());
 	}
 
 	public static void print(PrintWriter outString separator,
 			final double[] array) {
 		print(outseparatornew AbstractIterator<Double>() {
 			int i = 0;
 
 			protected boolean storeNext() {
 				if ( < array.length) {
 					 = array[];
 					++;
 					return true;
 				}
 				return false;
 			}
 		}, new NullFormatter<Double>());
 	}
 
 	static public <T, U extends Iterator<? extends T>> void print(
 			PrintWriter outString separator, U iterator,
 			Formatter<T> formatter) {
		boolean first = true;
		while (iterator.hasNext()) {
t = iterator.next();
			if (first)
				first = false;
			else
				out.print(separator);
			out.print(formatter.format(t));
		}
	}

Parameters:
out
separator
array
	public static void print(PrintStream outString separator,
			final double[] array) {
		print(outseparatornew AbstractIterator<Double>() {
			int i = 0;
			protected boolean storeNext() {
				if ( < array.length) {
					 = array[];
					++;
					return true;
				}
				return false;
			}
		}, new NullFormatter<Double>());
	}
	static public <T, U extends Iterator<T>> void print(PrintStream out,
			String separator, U iteratorFormatter<T> formatter) {
		boolean first = true;
		while (iterator.hasNext()) {
t = iterator.next();
			if (first)
				first = false;
			else
				out.print(separator);
			out.print(formatter.format(t));
		}
	}
	static public <T, U extends Iterator<T>> void print(PrintStream out,
			String separator, T[] arrayFormatter<T> formatter) {
		boolean first = true;
		for (int i = 0; i < array.lengthi++) {
t = array[i];
			if (first)
				first = false;
			else
				out.print(separator);
			out.print(formatter.format(t));
		}
	}
	static public <T, U extends Iterable<T>> void print(PrintStream out,
			String separator, U iterableFormatter<T> formatter) {
		print(outseparatoriterable.iterator(), formatter);
	}
	static public <T> void print(PrintWriter outString separator,
			Iterable<T> iterable) {
		print(outseparatoriterablenew Formatter<T>() {
			public String format(T t) {
				return t.toString();
			}
		});
	}
	static public <T, U extends Iterable<? extends T>> void print(
			PrintWriter outString separator, U iterable,
			Formatter<T> formatter) {
		boolean first = true;
		for (T t : iterable) {
			if (first)
				first = false;
			else
				out.print(separator);
			out.print(formatter.format(t));
		}
	}

Parameters:
buffer
string
x
	public static void print(StringBuilder builderString separator,
			Iterable<?> iterable) {
		boolean first = true;
		for (Object t : iterable) {
			if (first)
				first = false;
			else
				builder.append(separator);
			builder.append(t);
		}
	}

Parameters:
buffer
string
x
	public static <U> void print(StringBuilder builderString separator,
			U[] iterable) {
		boolean first = true;
		for (Object t : iterable) {
			if (first)
				first = false;
			else
				builder.append(separator);
			builder.append(t);
		}
	}

Parameters:
buffer
string
x
	public static void print(StringBuilder builderString separator,
			int[] iterable) {
		boolean first = true;
		for (Object t : iterable) {
			if (first)
				first = false;
			else
				builder.append(separator);
			builder.append(t);
		}
	}

Parameters:
buffer
string
x
	static public <T, U extends Iterable<? extends T>> void print(
			StringBuilder builderString separator, U iterable,
			Formatter<T> formatter) {
		boolean first = true;
		for (T t : iterable) {
			if (first)
				first = false;
			else
				builder.append(separator);
			builder.append(formatter.format(t));
		}
	}

Parameters:
string
actions
Returns:
	public static <U> String toString(String separatorIterable<U> iterable) {
		print(sbseparatoriterable);
		return sb.toString();
	}

Outputs an array separating elements with a given string.

Parameters:
separator The separator
actions
Returns:
	public static <U> String toString(String separator, U[] iterable) {
		print(sbseparatoriterable);
		return sb.toString();
	}
	public static <T> String toString(String separator, T[] array,
			Formatter<T> formatter) {
		return toString(separator, ListAdaptator.create(array), formatter);
	}
	public static <T, U extends Iterable<? extends T>> String toString(
			String separator, U iterableFormatter<T> formatter) {
		print(sbseparatoriterableformatter);
		return sb.toString();
	}
	// -------
	// ------- Formatters
	// -------
A formmatter that outputs the size of the collection
	static final public Formatter<Collection<?>> COLLECTION_COUNT_FORMATTER = new Formatter<Collection<?>>() {
		public String format(Collection<?> t) {
			return Integer.toString(t.size());
		}
	};
New to GrepCode? Check out our FAQ X