package Helper;
import java.util.*;
import java.text.*;

public class RightFormat extends java.text.Format
{
    public static void main (String[] args)
    {

    } // main method


    private int size;
    private char pad;

    public RightFormat (int fieldsize, char padchar)
    {
	if (fieldsize <= 1)
	    throw new IllegalArgumentException ("fieldsize must be > 1");
	size = fieldsize;
	pad = padchar;
    }


    public RightFormat (int fieldsize)
    {
	this (fieldsize, ' ');
    }


    public StringBuffer format (Object obj,
	    StringBuffer toAppendTo,
	    FieldPosition pos)
    {
	String val;
	int ix;
	val = obj.toString ();
	for (ix = size ; ix > val.length () ; ix--)
	    toAppendTo.append (pad);
	toAppendTo.append (val);
	return toAppendTo;
    }


    public Object parseObject (String source, ParsePosition status)
    {
	int start, end, ix;
	String ret = "";
	end = status.getIndex () + size;
	start = status.getIndex ();
	for (ix = start ; ix < end ; ix++)
	{
	    if (source.charAt (ix) != pad)
		break;
	}
	if (ix < end)
	{
	    ret = source.substring (ix, end);
	}
	status.setIndex (end);
	return ret;
    }
}
