StringAlignpublic class StringAlign extends Format Bare-minimum String formatter (string aligner). |
Fields Summary |
---|
public static final int | JUST_LEFT | public static final int | JUST_CENTRE | public static final int | JUST_CENTER | public static final int | JUST_RIGHTConstant for right-justified Strings. | private int | justCurrent justification | private int | maxCharsCurrent max length |
Constructors Summary |
---|
public StringAlign(int maxChars, int just)
switch(just) {
case JUST_LEFT:
case JUST_CENTRE:
case JUST_RIGHT:
this.just = just;
break;
default:
throw new IllegalArgumentException("invalid justification arg.");
}
if (maxChars < 0) {
throw new IllegalArgumentException("maxChars must be positive.");
}
this.maxChars = maxChars;
|
Methods Summary |
---|
public java.lang.StringBuffer | format(java.lang.Object obj, java.lang.StringBuffer where, java.text.FieldPosition ignore)Format a String
String s = (String)obj;
String wanted = s.substring(0, Math.min(s.length(), maxChars));
// If no space left for justification, return maxChars' worth */
if (wanted.length() > maxChars) {
where.append(wanted);
}
// Else get the spaces in the right place.
else switch (just) {
case JUST_RIGHT:
pad(where, maxChars - wanted.length());
where.append(wanted);
break;
case JUST_CENTRE:
int startPos = where.length();
pad(where, (maxChars - wanted.length())/2);
where.append(wanted);
pad(where, (maxChars - wanted.length())/2);
// Adjust for "rounding error"
pad(where, maxChars - (where.length() - startPos));
break;
case JUST_LEFT:
where.append(wanted);
pad(where, maxChars - wanted.length());
break;
}
return where;
| java.lang.String | format(java.lang.String s)Convenience Routine
return format(s, new StringBuffer(), null).toString();
| protected final void | pad(java.lang.StringBuffer to, int howMany)
for (int i=0; i<howMany; i++)
to.append(' ");
| public java.lang.Object | parseObject(java.lang.String source, java.text.ParsePosition pos)ParseObject is required, but not useful here.
return source;
|
|