blob: 7bfc5dd7c4fc338b0418908fbd26764f26b0c729 [file] [log] [blame]
////////////////////////////////////////////////////////////////////////////////
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
package mx.utils
{
import org.apache.royale.utils.StringUtil;
/**
* The RPCStringUtil class is a subset of StringUtil, removing methods
* that create dependency issues when RPC messages are in a bootstrap loader.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public class RPCStringUtil
{
// include "../core/Version.as";
//--------------------------------------------------------------------------
//
// Class methods
//
//--------------------------------------------------------------------------
/**
* Removes all whitespace characters from the beginning and end
* of the specified string.
*
* @param str The String whose whitespace should be trimmed.
*
* @return Updated String where whitespace was removed from the
* beginning and end.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public static function trim(str:String):String
{
return org.apache.royale.utils.StringUtil.trim(str);
}
/**
* Removes all whitespace characters from the beginning and end
* of each element in an Array, where the Array is stored as a String.
*
* @param value The String whose whitespace should be trimmed.
*
* @param separator The String that delimits each Array element in the string.
*
* @return Updated String where whitespace was removed from the
* beginning and end of each element.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public static function trimArrayElements(value:String, delimiter:String):String
{
return org.apache.royale.utils.StringUtil.trimArrayElements(value, delimiter);
}
/**
* Returns <code>true</code> if the specified string is
* a single space, tab, carriage return, newline, or formfeed character.
*
* @param str The String that is is being queried.
*
* @return <code>true</code> if the specified string is
* a single space, tab, carriage return, newline, or formfeed character.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public static function isWhitespace(character:String):Boolean
{
return org.apache.royale.utils.StringUtil.isWhitespace(character);
}
/**
* Substitutes "{n}" tokens within the specified string
* with the respective arguments passed in.
*
* Note that this uses String.replace and "$" can have special
* meaning in the argument strings escape by using "$$".
*
* @param str The string to make substitutions in.
* This string can contain special tokens of the form
* <code>{n}</code>, where <code>n</code> is a zero based index,
* that will be replaced with the additional parameters
* found at that index if specified.
*
* @param rest Additional parameters that can be substituted
* in the <code>str</code> parameter at each <code>{n}</code>
* location, where <code>n</code> is an integer (zero based)
* index value into the array of values specified.
* If the first parameter is an array this array will be used as
* a parameter list.
* This allows reuse of this routine in other methods that want to
* use the ... rest signature.
* For example <pre>
* public function myTracer(str:String, ... rest):void
* {
* label.text += StringUtil.substitute(str, rest) + "\n";
* } </pre>
*
* @return New string with all of the <code>{n}</code> tokens
* replaced with the respective arguments specified.
*
* @example
*
* var str:String = "here is some info '{0}' and {1}";
* trace(StringUtil.substitute(str, 15.4, true));
*
* // this will output the following string:
* // "here is some info '15.4' and true"
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 3
*/
public static function substitute(str:String, ... rest):String
{
rest.unshift(str);
return org.apache.royale.utils.StringUtil.substitute.call(null, rest);
}
}
}