/*******************************************************************************
 * 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
 *    
 ********************************************************************************/

/**
 * Provides tooling services for tag attribute values
 * based on the org.eclipse.jst.jsf.core.AttributeValueRuntimeTypes. 
 * <p>
 * New features can added to the system using the org.eclipse.jst.jsf.core.MetaDataEnabledFeatures 
 * extension-point.  This extension point provides the binding of a AttributeValueRuntimeTypes to a feature
 * so that new behaviors can be added to existing types. 
 * 
 * <p><b>Provisional API - subject to change</b></p>
 */
package org.eclipse.jst.jsf.metadataprocessors.features;
