Package org.eclipse.core.variables


package org.eclipse.core.variables

Provides support for defining and contributing variables for the purpose of string substitution.

Package Specification

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 (IValueVariable) and dynamic variables (IDynamicVariable). 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.

A variable manager (IStringVariableManager) is provided to manage the set of defined variables. Value variables may be created via API on the variable manager, or contributed via the valueVariables extension point. Dynamic variables must be contributed via the dynamicVariables 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.

Variables are referenced in strings by enclosing them in braces, preceded with a dollar sign. For example, consider a variable defined with the name foo, and referenced in the following string: "abc${foo}ghi". If the value of foo is "def", the result of a string substitution would be "abcdefghi". 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 "${foo:bar}". In this case, the resolver associated with foo would be provided with the referenced argument (bar) when asked to resolve a value for the variable foo.

  • Class
    Description
    A dynamic variable is a variable whose value is computed dynamically by a resolver at the time a string substitution is performed.
    Resolves the value for a dynamic variable.
    A variable that can be referenced in an expression, which resolves to a string value.
    Registry for string variables.
    A variable with a value that can be set and retrieved.
    Value variable initializers compute an initial value for a value variable contributed by an extension, which is not defined with an initial value.
    A string variable listener is notified of variables as they are added and removed from the string variable manager.
    The plug-in runtime class for the Core Variables plug-in.