| <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> |
| <html> |
| |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <title>Eclipse Debug Platform</title> |
| </head> |
| |
| <body bgcolor="#FFFFFF"> |
| |
| <p>Provides support for defining and contributing variables for the purpose of |
| string substitution.</p> |
| |
| <h2>Package Specification</h2> |
| |
| <p>This package provides classes and interfaces to support the definition and |
| contribution of variables for the purpose of string substitution. The plug-in |
| supports the recursive replacement of variables referenced by name in arbitrary |
| strings with the value of the variable. Two types of variables are provided |
| - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>). |
| A value variable has a simple setter and getter for its current value. A dynamic |
| variable has an associated resolver that provides a variable's value each time |
| it is referenced (replaced) in a string substitution. A dynamic variable may |
| also provide an argument in its reference that can be used by its resolver to |
| determine its substitution value.</p> |
| <p>A variable manager (<code>IStringVariableManager</code>) is provided to manage |
| the set of defined variables. Value variables may be created via API on the |
| variable manager, or contributed via the <code>valueVariables</code> extension |
| point. Dynamic variables must be contributed via the <code>dynamicVariables</code> |
| extension point. The variable manager also provides change notification for |
| value variables. The variable manager also provides an API for performing string |
| substitution, which accepts a string, and returns a string with all variable |
| references replaced by associated variable values.</p> |
| <p>Variables are referenced in strings by enclosing them in braces, preceded with |
| a dollar sign. For example, consider a variable defined with the name <code>foo</code>, |
| and referenced in the following string: <code>"abc${foo}ghi"</code>. |
| If the value of <code>foo</code> is <code>"def"</code>, the result |
| of a string substitution would be <code>"abcdefghi"</code>. In the |
| case of a dynamic variable, an (optional) argument is supplied by appending |
| a colon and argument value after the variable name. For example <code>"${foo:bar}"</code>. |
| In this case, the resolver associated with <code>foo</code> would be provided |
| with the referenced argument (<code>bar</code>) when asked to resolve a value |
| for the variable <code>foo</code>. </p> |
| </body> |
| </html> |