/**
* Implements the CFML Function cjustify
*/
package railo.runtime.functions.string;
import railo.runtime.PageContext;
import railo.runtime.exp.ExpressionException;
import railo.runtime.ext.function.Function;
public final class CJustify implements Function {
public static String call(PageContext pc , String string, double length) throws ExpressionException {
int len=(int)length;
if(len<1) throw new ExpressionException("Parameter 2 of function cJustify which is now ["+len+"] must be a non-negative integer");
else if((len-=string.length())<=0) return string;
else {
char[] chrs=new char[string.length()+len];
int part=len/2;
for(int i=0;i<part;i++)chrs[i]=' ';
for(int i=string.length()-1;i>=0;i--)chrs[part+i]=string.charAt(i);
for(int i=part+string.length();i<chrs.length;i++)chrs[i]=' ';
return new String(chrs);
}
}
}