<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Contextual Symbol Factory</title>
<style type="text/css">@import url("../../book.css");</style>
<style type="text/css">@import url("../../schema.css");</style>
</HEAD>
<BODY>
<H1 style="text-align:center">Contextual Symbol Factory</H1>
<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.jst.jsf.common.contextSymbolFactory<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>1.5
<p></p>

<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>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.<p></p>
<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>
<p></p>
<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.contextSymbolFactory">contextSymbolFactory</a>)&gt;</p>
<p class="code SchemaDtd">&lt;!ATTLIST extension</p>
<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>
<p></p>
<ul class="ConfigMarkupAttlistDesc">
</ul>
<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.contextSymbolFactory">contextSymbolFactory</a> EMPTY&gt;</p>
<p class="code SchemaDtd">&lt;!ATTLIST contextSymbolFactory</p>
<p class="code SchemaDtdAttlist">factory&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">factoryId&nbsp;CDATA #REQUIRED</p>&gt;</p>
<p></p>
<p class="ConfigMarkupElementDesc">
The context symbol factory description.</p>
<br>
<ul class="ConfigMarkupAttlistDesc">
<li><b>factory</b> - An instance of AbstractContextSymbolFactory that implements the context symbol factory.</li>
<li><b>factoryId</b> - The id that will be used to uniquely identify this factory in meta-data or elsewhere.</li>
</ul>
<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6><p>The following example creates a symbol factory for creating symbols.</p>

<p>
<pre class="Example"><span class="code SchemaTag">
&lt;extension
     point=</span><span class="code SchemaCstring">&quot;org.eclipse.jst.jsf.context.symbol.contextSymbolFactory&quot;</span><span class="code SchemaTag">&gt;
   &lt;contextSymbolFactory
         factory=</span><span class="code SchemaCstring">&quot;org.eclipse.jst.jsf.designtime.internal.jsp.JSPDefaultSymbolFactory&quot;</span><span class="code SchemaTag">
         factoryId=</span><span class="code SchemaCstring">&quot;org.eclipse.jst.jsf.designtime.core.loadBundle&quot;</span><span class="code SchemaTag">/&gt;
&lt;/extension&gt;
</span></pre>
</p>

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

<br>
<p class="note SchemaCopyright">
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

</p>
</BODY>
</HTML>
