}
@Override
public Object compute( Function _function, Object... _args ) throws InterpreterException
{
final ExpressionTemplatesForStrings t = this.template;
final int c = _args.length;
switch (_function) {
case ERROR:
if (1 == c ) {
return t.fun_ERROR( to_String( _args[ 0 ] ) );
}
break;
case CLEAN:
if (1 == c ) {
return t.fun_CLEAN( to_String( _args[ 0 ] ) );
}
break;
case FIXED:
if (3 == c ) {
return t.fun_FIXED( to_Number( _args[ 0 ] ), to_int( _args[ 1 ] ), to_int( _args[ 2 ] ) );
}
if (2 == c ) {
return t.fun_FIXED( to_Number( _args[ 0 ] ), to_int( _args[ 1 ] ) );
}
if (1 == c ) {
return t.fun_FIXED( to_Number( _args[ 0 ] ) );
}
break;
case CHAR:
if (1 == c ) {
return t.fun_CHAR( to_int( _args[ 0 ] ) );
}
break;
case DOLLAR:
if (2 == c ) {
return t.fun_DOLLAR( to_Number( _args[ 0 ] ), to_int( _args[ 1 ] ) );
}
if (1 == c ) {
return t.fun_DOLLAR( to_Number( _args[ 0 ] ) );
}
break;
case LOWER:
if (1 == c ) {
return t.fun_LOWER( to_String( _args[ 0 ] ) );
}
break;
case ROMAN:
if (1 == c ) {
return t.fun_ROMAN( to_int( _args[ 0 ] ) );
}
if (2 == c ) {
return t.fun_ROMAN( to_int( _args[ 0 ] ), to_int( _args[ 1 ] ) );
}
break;
case UPPER:
if (1 == c ) {
return t.fun_UPPER( to_String( _args[ 0 ] ) );
}
break;
case PROPER:
if (1 == c ) {
return t.fun_PROPER( to_String( _args[ 0 ] ) );
}
break;
case REPT:
if (2 == c ) {
return t.fun_REPT( to_String( _args[ 0 ] ), to_int( _args[ 1 ] ) );
}
break;
case TRIM:
if (1 == c ) {
return t.fun_TRIM( to_String( _args[ 0 ] ) );
}
break;
case MID:
if (3 == c ) {
return t.fun_MID( to_String( _args[ 0 ] ), to_int( _args[ 1 ] ), to_int( _args[ 2 ] ) );
}
break;
case LEFT:
if (1 == c ) {
return t.fun_LEFT( to_String( _args[ 0 ] ) );
}
if (2 == c ) {
return t.fun_LEFT( to_String( _args[ 0 ] ), to_int( _args[ 1 ] ) );
}
break;
case RIGHT:
if (1 == c ) {
return t.fun_RIGHT( to_String( _args[ 0 ] ) );
}
if (2 == c ) {
return t.fun_RIGHT( to_String( _args[ 0 ] ), to_int( _args[ 1 ] ) );
}
break;
case SUBSTITUTE:
if (3 == c ) {
return t.fun_SUBSTITUTE( to_String( _args[ 0 ] ), to_String( _args[ 1 ] ), to_String( _args[ 2 ] ) );
}
if (4 == c ) {
return t.fun_SUBSTITUTE( to_String( _args[ 0 ] ), to_String( _args[ 1 ] ), to_String( _args[ 2 ] ), to_int( _args[ 3 ] ) );
}
break;
case REPLACE:
if (4 == c ) {
return t.fun_REPLACE( to_String( _args[ 0 ] ), to_int( _args[ 1 ] ), to_int( _args[ 2 ] ), to_String( _args[ 3 ] ) );
}
break;
case TEXT:
if (2 == c ) {
return t.fun_TEXT( to_Number( _args[ 0 ] ), to_String( _args[ 1 ] ) );
}
break;
}
return super.compute( _function, _args );
}