Package | com.adobe.gravity.utility.message |
Class | public class FormatMessage |
Inheritance | FormatMessage Object |
Language Version: | ActionScript 3.0 |
Product Version: | Adobe Digital Enterprise Platform Experience Services - Client Component Framework 10 |
Runtime Versions: | AIR 1.1, Flash Player 9 |
Error {errorId}: The file {filename} could not be read.
When the error occurs, the message could be prepared for display with the following code:
var template:String = "Error {errorId}: The file {filename} could not be read."; var params:Object = new Object(); params.errorId = 42; params.filename = "/Users/alice/vacation.jpg"; var message:String = FormatMessage.formatString(template, params); // message="Error 42: The file /Users/alice/vacation.jpg could not be read."
The ActionScript object literal syntax is a convenient way to construct the parameter object. The following is functionally equivalent to the code above:
var template:String = "Error {errorId}: The file {filename} could not be read."; var params:Object = { errorId: 42, filename: "/Users/alice/vacation.jpg" }; var message:String = FormatMessage.formatString(template, params); // message="Error 42: The file /Users/alice/vacation.jpg could not be read."
Note that traditional numeric parameters are supported by simply using an Array as the parameter object:
var template:String = "Error {0}: The file {1} could not be read."; var params:Array = [ 42, "/Users/alice/vacation.jpg" ]; var message:String = FormatMessage.formatString(template, params); // message="Error 42: The file /Users/alice/vacation.jpg could not be read."
Note that for missing parameters, the empty string will be used:
var template:String = "Error {errorId}: The file {filename} could not be read."; var params:Object = { errorId: 42, }; var message:String = FormatMessage.formatString(template, params); // message="Error 42: The file could not be read."
Note that parameters are substituted verbatim, no parameter replacement or brace processing is performed on the parameters themselves:
var template:String = "{one}{two}{three}{four}{five}"; var params:Object = { one: "{five}", two: "{four}", three: "{three}", four: "{two}", five: "{one}" }; var message:String = FormatMessage.formatString(template, params); // message="{five}{four}{three}{two}{one}"
To escape an opening brace, double the initial brace:
var template:String = "The {{filename} parameter is {filename}."; var message:String = FormatMessage.formatString(template, {filename: "/Users/alice/vacation.jpg"}); // message="The {filename} parameter is /Users/alice/vacation.jpg."
Best practice: It can be useful to use formatString on all strings, parameterized or not, to ensure that escaping rules are consistent between parameterized and non-parameterized strings (since strings that were unparameterized may become parameterized and vice-versa).
Method | Defined By | ||
---|---|---|---|
[static]
Given a message string, perform parameter substitution on it. | FormatMessage | ||
Indicates whether an object has a specified property defined. | Object | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object |
formatString | () | method |
public static function formatString(message:String, parameters:Object):String
Language Version: | ActionScript 3.0 |
Product Version: | Adobe Digital Enterprise Platform Experience Services - Client Component Framework 10 |
Runtime Versions: | AIR 1.1, Flash Player 9 |
Given a message string, perform parameter substitution on it.
Parameters
message:String — The parameterized message string. Must not be null.
| |
parameters:Object — An object with a property for each parameter that is to be substituted into the message. May be null (which means there are no parameters to be substituted).
|
String — The message string with any parameter substitution performed.
|
Mon Nov 28 2011, 06:48 AM -08:00