package com.ericfeminella.air.cairngorm.business
{
import mx.utils.StringUtil;
/**
*
* <code>SQLStatementHelper</code> is an all static utility class
* which provides a mechanism for substituting tokens specified in
* a raw statement with arbitrary values.
*
*/
public final class SQLStatementHelper
{
/**
*
* Provides a mechanism allowing substitution of tokens specified in
* a SQL statement, with an arbitrary list of parameters
*
* @example The following example demonstrates a typical implementation
* of <code<SQLStatementHelper</code> by which the tokens {0}, {1}, {2}
* are substituted with the values 'a', 'b', 'c'
*
* <listing version="3.0">
*
* var source:String = "INSERT INTO 'foo' VALUES('{0}', '{1}') WHERE name='{2}'";
* var statement:String = SQLStatementHelper.create( source, "a", "b", "c" );
*
* trace( statement );
* // INSERT INTO 'foo' VALUES('a', 'b') WHERE name='c'
*
* </listing>
*
* @param SQL statement from which tokens are to be replaced
* @param arbitrary values to replace the statement tokens
* @return String containing the final SQL statement
*
*/
public static function create(statement:String, ...args) : String
{
var statement:String = StringUtil.substitute( statement, args );
return statement;
}
}
}