# Symbol Source Provider

###### Identifier:

org.eclipse.jst.jsf.common.symbols

###### Since:

1.5

###### Description:

A symbol source provider is called to discover EL namespace variable symbols. For example, managed bean variable symbols, are contributed through a symbol source provider. A symbol source provider may or may not wish to use a context symbol factory depending on the situation. When an EL variable is resolved, each symbol provider will be considered equally. All of the information that determines a symbol's characteristics must be encoded in the returned ISymbol object. A list of registered symbol providers may be found by calling JSFCommonPlugin.getSymbolSourceProvider().

###### Configuration Markup:

<!ELEMENT extension (symbolSourceId)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT symbolSourceId EMPTY>

<!ATTLIST symbolSourceId

factory CDATA #REQUIRED

>

- factory - An instance of the factory interface that will be invoked to create an instance of this symbol source provider. Factory must have a zero-arg default constructor.

###### Examples:

The following xml is used to contribute a set of default providers to contribute managed bean, built-in and tag contributed variables:

       <extension
             point="org.eclipse.jst.jsf.context.symbol.symbolSourceProvider">
          <symbolSourceId factory="org.eclipse.jst.jsf.designtime.internal.symbols.DefaultBeanSymbolSourceProvider"/>
          <symbolSourceId factory="org.eclipse.jst.jsf.designtime.internal.symbols.JSPTagVariableSymbolSourceProvider"/>
          <symbolSourceId factory="org.eclipse.jst.jsf.designtime.internal.symbols.DefaultBuiltInSymbolProvider"/>
       </extension>

Copyright 2006 Oracle 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