package plume;
import java.util.*;
/**
* Routines for doing simple string formatting similar to printf/sprintf in C.
* All of the arguments must be objects. Primitive types can be used in
* several ways:
*
* - Add them to a string: "" + i
* - create a wrapper object: new Integer(i)
* - use a fmt routine to create a wrapper object: Fmt.i(i)
* @deprecated Use {@link String#format(String,Object...)}
*/
@Deprecated
public class Fmt {
/**
* Replaces each instance of %s in format with the corresponding
* object in args and writes the result to System.out. Each
* argument is converted to a string with toString().
*/
public static void pf (String format, Object[] args) {
System.out.println (spf (format, args));
}
/**
* Replaces each instance of %s in format with the corresponding
* object in args and returns the result. Each argument is
* converted to a string with toString().
*/
public static String spf (String format, Object[] args) {
StringBuffer result = new StringBuffer(format.length() + args.length*20);
int current_arg = 0;
for (int i = 0; i < format.length(); i++) {
char c = format.charAt(i);
if (c != '%') {
result.append (c);
} else {
i++;
char cmd = format.charAt(i);
if (cmd == '%')
result.append ('%');
else if (cmd == 's') {
if (args[current_arg] == null)
result.append ("null");
else {
Object arg = args[current_arg];
if (arg instanceof long[])
result.append (ArraysMDE.toString ((long[])arg));
else if (arg instanceof String[])
result.append (ArraysMDE.toString ((String[])arg));
else if (arg instanceof double[])
result.append (ArraysMDE.toString ((double[])arg));
else
result.append (arg.toString());
}
current_arg++;
}
}
}
if (current_arg != args.length)
throw new RuntimeException
(spf ("spf: only %s of %s arguments used up: [result = %s]",
i(current_arg), i(args.length), result));
return (result.toString());
}
/** Convenience routine for new Integer(val). **/
public static Integer i (int val) {
return new Integer (val);
}
public static String spf (String format, Object arg1) {
return (spf (format, new Object[] {arg1}));
}
public static String spf (String format, Object arg1, Object arg2) {
return (spf (format, new Object[] {arg1, arg2}));
}
public static String spf (String format, Object arg1, Object arg2,
Object arg3) {
return (spf (format, new Object[] {arg1, arg2, arg3}));
}
public static String spf (String format, Object arg1, Object arg2,
Object arg3, Object arg4) {
return (spf (format, new Object[] {arg1, arg2, arg3, arg4}));
}
public static String spf (String format, Object arg1, Object arg2,
Object arg3, Object arg4, Object arg5) {
return (spf (format, new Object[] {arg1, arg2, arg3, arg4, arg5}));
}
public static void pf (String format) {
pf (format, new Object[0]);
}
public static void pf (String format, Object arg1) {
pf (format, new Object[] {arg1});
return;
}
public static void pf (String format, Object arg1, Object arg2) {
pf (format, new Object[] {arg1, arg2});
return;
}
public static void pf (String format, Object arg1, Object arg2,
Object arg3) {
pf (format, new Object[] {arg1, arg2, arg3});
return;
}
public static void pf (String format, Object arg1, Object arg2,
Object arg3, Object arg4) {
pf (format, new Object[] {arg1, arg2, arg3, arg4});
return;
}
public static void pf (String format, Object arg1, Object arg2,
Object arg3, Object arg4, Object arg5) {
pf (format, new Object[] {arg1, arg2, arg3, arg4, arg5});
return;
}
static public void pf (String format, Object arg1, Object arg2,
Object arg3, Object arg4, Object arg5,
Object arg6) {
pf (format, new Object[] {arg1, arg2, arg3, arg4, arg5, arg6});
return;
}
}