ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
com.adobe.gravity.utility.message 

FormatMessage  - AS3 ADEP Client Component

Packagecom.adobe.gravity.utility.message
Classpublic class FormatMessage
InheritanceFormatMessage Inheritance 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

FormatMessage is a utility class for formatting messages requiring runtime parameters. Parameters substitution locations are indicated by the parameter name surrounded by braces. For example, a parameterized error message might be

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).



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
Public Methods
 MethodDefined By
  
formatString(message:String, parameters:Object):String
[static] Given a message string, perform parameter substitution on it.
FormatMessage
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Method Detail

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).

Returns
String — The message string with any parameter substitution performed.