# Variable Resolver

###### Identifier:

org.eclipse.jst.jsf.core.variableresolver

###### Since:

1.5

###### Description:

Allows a third-party to define an alternative instance of the design time variable resolver. This id can then be set on a project using DesignTimeApplicationManager.setVariableResolverProvider. Once set on a project this id will be used to load the active design time variable resolver.

###### Configuration Markup:

<!ELEMENT extension (variableresolver)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT variableresolver EMPTY>

<!ATTLIST variableresolver

id CDATA #REQUIRED

class CDATA #REQUIRED

forRuntimeClass CDATA #IMPLIED

instancePerProject (true | false)

>

- id - The id to be used to identify this property resolver.
- class - The class implementing the property resolver.
- forRuntimeClass - Names a class (it need not be on the class path at designtime) that this designtime variable resolver is intended to shadow. The instance of AbstractDTVariableResolver provided by the 'class' attribute _must_ implement the IDecorativeResolver tagging interface in order to be used in this way.
- instancePerProject - Default if not specified is false. This is backward compatible with pre-3.0 behaviour for the variableresolver extension point. If set to false (or not set) a single instance of the variable resolver will be used for all design time managers in the workspace. If set to true, a new instance will be created on every time this variable resolver becomes the active one on a design time application manager. If 'class' specifies a type that implements org.eclipse.jst.jsf.designtime.el.IInstancePerProjectResolver, then setProject will be called with the host project. Implementing this interface is optional.

###### Examples:

The following example defines a new variable resolver implemented by CustomDTVariableResolver

       <extension
             point="org.eclipse.jst.jsf.designtime.variableresolver">
          <variableresolver
                class="org.eclipse.jst.jsf.dtresolver.test.resolvers.CustomDTVariableResolver"
                id="org.eclipse.jst.jsf.dtresolver.test.variableresolver1"/>
       </extension>

Copyright 2006 Oracle All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-2.0/