# Contextual Symbol Factory

###### Identifier:

org.eclipse.jst.jsf.common.contextSymbolFactory

###### Since:

1.5

###### Description:

The context symbol factory allows a symbol factory with a specific id to be registered to create symbols in a particular context. Clients wishing to delegate symbol construction in a particular context may then request the symbol factory based on its id. To get a map of registered symbol factories keyed by id, call SymbolsPlugin.getSymbolFactories(). The most common use of this extension point is by the JSPModelProcessor. By decorating a tag attribute with meta-data pointing to a context symbol factory with a particular id, the JSP model processor will call that symbol factory to create a symbol for that tag. See developer docs on decorating variable contributing tags for more information.

###### Configuration Markup:

<!ELEMENT extension (contextSymbolFactory)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT contextSymbolFactory EMPTY>

<!ATTLIST contextSymbolFactory

factory CDATA #REQUIRED

factoryId CDATA #REQUIRED

>

The context symbol factory description.

- factory - An instance of AbstractContextSymbolFactory that implements the context symbol factory.
- factoryId - The id that will be used to uniquely identify this factory in meta-data or elsewhere.

###### Examples:

The following example creates a symbol factory for creating symbols.

    <extension
         point="org.eclipse.jst.jsf.context.symbol.contextSymbolFactory">
       <contextSymbolFactory
             factory="org.eclipse.jst.jsf.designtime.internal.jsp.JSPDefaultSymbolFactory"
             factoryId="org.eclipse.jst.jsf.designtime.core.loadBundle"/>
    </extension>

When the symbol factory org.eclipse.jst.jsf.designtime.core.loadBundle is requested, an instance of JSPDefaultSymbolFactory will be constructed.

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