# AttributeValueRuntimeTypes

###### Identifier:

org.eclipse.jst.jsf.core.AttributeValueRuntimeTypes

###### Since:

1.5

###### Description:

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.

This extension point is provisional and subject to change

###### Configuration Markup:

<!ELEMENT extension (attributeValueRuntimeType+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT attributeValueRuntimeType EMPTY>

<!ATTLIST attributeValueRuntimeType

id CDATA #REQUIRED

class CDATA #IMPLIED

>

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.

- id - unique id for the type within the extending plugin
- class - Class that will be used to implement the type. It must implement `org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature` and it is recommended that the user extend the `org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor` or one of its subclasses.

###### Examples:

see org.eclipse.jst.jsf.taglibprocessing plugin for examples of usage

###### API Information:

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.

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