# Dynamic String Substitution Variables

###### Identifier:

org.eclipse.core.variables.dynamicVariables

###### Since:

3.0

###### Description:

This extension point provides a mechanism for defining dynamic variables used in string substitution. The value of a dynamic variable is resolved at the time a string substitution is performed, with an optional argument.

###### Configuration Markup:

<!ELEMENT extension (variable*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT variable EMPTY>

<!ATTLIST variable

name CDATA #REQUIRED

resolver CDATA #REQUIRED

description CDATA #REQUIRED

supportsArgument (true | false)

>

- name - specifies a unique name for this variable.
- resolver - specifies a Java class which implements `org.eclipse.core.variables.IDynamicVariableResolver`, which is used to determine the value of the variable
- description - specifies a human-readable description of this variable
- supportsArgument - Whether this variable supports an argument. When unspecified, the implied value is `true`.

###### Examples:

The following is a definition of a dynamic variable that resolves to the name of the selected resource:

     <extension point="org.eclipse.core.variables.dynamicVariables">
       <variable
          name="resource_name"
          expanderClass="com.example.ResourceNameExpander"
          description="The name of the selected resource">
       </variable>
     </extension>

###### API Information:

Value of the attribute resolver must be a fully qualified name of a Java class that implements the interface org.eclipse.core.variables.IDynamicVariableResolver.

Copyright (c) 2003, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html