/*******************************************************************************
 * Copyright (c) 2004, 2006 Sybase, Inc. and others.
 *
 * 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:
 *     Sybase, Inc. - initial API and implementation
 *******************************************************************************/
package org.eclipse.jst.jsf.facesconfig.ui;

/**
 * @author jchoi
 * @version
 */
public interface IFacesConfigConstants {

	/**
	 * 
	 */
	public static final String FACES_CONFIG = "faces-config";

	/**
	 * 
	 */
	public static final String MANAGED_PROPERTY = "managed-property";

	/**
	 * 
	 */
	public static final String VALUE = "value";

	/**
	 * 
	 */
	public static final String NULL_VALUE = "null-value";

	/**
	 * 
	 */
	public static final String MAP_ENTRIES = "map-entries";

	/**
	 * 
	 */
	public static final String MAP_ENTRY = "map-entry";

	/**
	 * 
	 */
	public static final String LIST_ENTRIES = "list-entries";

	/**
	 * 
	 */
	public static final String NAVIGATION_RULE = "navigation-rule";

	/**
	 * 
	 */
	public static final String COMPONENT_SUPER_CLASS = "javax.faces.component.UIComponent";

	/**
	 * 
	 */
	public static final String RENDER_KIT_SUPER_CLASS = "javax.faces.render.RenderKit";

	/**
	 * 
	 */
	public static final String CONVERTER_INTERFACE = "javax.faces.convert.Converter";

	/**
	 * 
	 */
	public static final String VALIDATOR_INTERFACE = "javax.faces.validator.Validator";

	/**
	 * 
	 */
	public static final String RENDERER_SUPER_CLASS = "javax.faces.render.Renderer";

	/**
	 * 
	 */
	public static final String ACTION_LISTENER_INTERFACE = "javax.faces.event.ActionListener";

	/**
	 * 
	 */
	public static final String NAVIGATION_HANDLE_SUPER_CLASS = "javax.faces.application.NavigationHandler";

	/**
	 * 
	 */
	public static final String PROPERTY_RESOLVER_SUPER_CLASS = "javax.faces.el.PropertyResolver";

	/**
	 * 
	 */
	public static final String STATE_MANAGER_SUPER_CLASS = "javax.faces.application.StateManager";

	/**
	 * 
	 */
	public static final String VARIABLE_RESOLVER_SUPER_CLASS = "javax.faces.el.VariableResolver";

	/**
	 * 
	 */
	public static final String VIEW_HANDLER_SUPER_CLASS = "javax.faces.application.ViewHandler";

	/**
	 * 
	 */
	public static final String APPLICATION_FACTORY_SUPER_CLASS = "javax.faces.application.ApplicationFactory";

	/**
	 * 
	 */
	public static final String FACES_CONTEXT_FACTORY_SUPER_CLASS = "javax.faces.context.FacesContextFactory";

	/**
	 * 
	 */
	public static final String LIFECYCLE_FACTORY_SUPER_CLASS = "javax.faces.lifecycle.LifecycleFactory";

	/**
	 * 
	 */
	public static final String RENDER_KIT_FACTORY_SUPER_CLASS = "javax.faces.render.RenderKitFactory";

	/**
	 * 
	 */
	public static final String PHASE_LISTENER_INTERFACE = "javax.faces.event.PhaseListener";

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_APPLICATION = "application";

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_SESSION = "session";

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_REQUEST = "request";

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_NONE = "none";

}
