<!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>AttributeValueRuntimeTypes</title>
<style>@import url("../../book.css");</style>
<style>@import url("../../schema.css");</style>
</HEAD>
<BODY>
<H1><CENTER>AttributeValueRuntimeTypes</CENTER></H1>
<p></p>
<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.jst.jsf.metadataprocessors.AttributeValueRuntimeTypes<p></p>
<h6 class=CaptionFigColumn id=header>Since: </h6>WTP 1.5
<p></p>

<p>
<h6 class=CaptionFigColumn id=header>Description: </h6>Defines a mapping between an implementing class and an AttributeValue Runtime type.   By categorizing attribute values types in an CMAnnotation file, we can assign types and therefore processing of those types using the CMAnnotation file metadata and context information.</p>
<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.attributeValueRuntimeType">attributeValueRuntimeType</a>+)&gt;</p>
<p class=code id=dtd>&lt;!ATTLIST extension</p>
<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
<p></p>
<ul class=ConfigMarkup id=attlistDesc>
</ul>
<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.attributeValueRuntimeType">attributeValueRuntimeType</a> EMPTY&gt;</p>
<p class=code id=dtd>&lt;!ATTLIST attributeValueRuntimeType</p>
<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #IMPLIED&gt;</p>
<p></p>
<p class=ConfigMarkup id=elementDesc>
The MetaDataEnabledRuntimeTypeProcessing framework will use the value found on the attribute-value-runtime-value property of a cm-attribute annoation to bind to a class that implements the type.   That type may be able to provide processing for ContentAssist, Validation, Quick Fix/Quick Assist, or other context sensitive operations.</p>
<br>
<ul class=ConfigMarkup id=attlistDesc>
<li><b>id</b> - unique id for the type within the extending plugin</li>
<li><b>class</b> - Class that will be used to implement the type.  It must implement <code>org.eclipse.jst.jsf.metadataprocessors.internal.provisional.IMetaDataEnabledFeature</code> and it is recommended that the user extend the <code>org.eclipse.jst.jsf.metadataprocessors.internal.provisional.AbstractRootTypeDescriptor</code> or one of its subclasses.</li>
</ul>
<br><h6 class=CaptionFigColumn id=header>Examples: </h6>see org.eclipse.jst.jsf.taglibprocessing plugin for examples of usage
<p></p>

<h6 class=CaptionFigColumn id=header>API Information: </h6>cm-attribute annotation elements can have an "attribute-value-runtime-type" property that maps to the id of this ext-pt.  The property must be fully qualified with the extender's plugin id.   i.e.  if type is FooType, the property value must be com.foo.bar.FooType.
<p></p>

<br>
<p class=note id=copyright>
Copyright (c) 2006 Oracle Corporation.
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
 
Contributors:
    Gerry Kessler/Oracle - initial API and implementation
<p></p>

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