/*******************************************************************************
 * Copyright (c) 2004, 2011 Sybase, Inc. and others.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * 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"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String MANAGED_PROPERTY = "managed-property"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String VALUE = "value"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String NULL_VALUE = "null-value"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String MAP_ENTRIES = "map-entries"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String MAP_ENTRY = "map-entry"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String LIST_ENTRIES = "list-entries"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String NAVIGATION_RULE = "navigation-rule"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String COMPONENT_SUPER_CLASS = "javax.faces.component.UIComponent"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String RENDER_KIT_SUPER_CLASS = "javax.faces.render.RenderKit"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String CONVERTER_INTERFACE = "javax.faces.convert.Converter"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String VALIDATOR_INTERFACE = "javax.faces.validator.Validator"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String RENDERER_SUPER_CLASS = "javax.faces.render.Renderer"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String ACTION_LISTENER_INTERFACE = "javax.faces.event.ActionListener"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String NAVIGATION_HANDLE_SUPER_CLASS = "javax.faces.application.NavigationHandler"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String PROPERTY_RESOLVER_SUPER_CLASS = "javax.faces.el.PropertyResolver"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String STATE_MANAGER_SUPER_CLASS = "javax.faces.application.StateManager"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String VARIABLE_RESOLVER_SUPER_CLASS = "javax.faces.el.VariableResolver"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String VIEW_HANDLER_SUPER_CLASS = "javax.faces.application.ViewHandler"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String APPLICATION_FACTORY_SUPER_CLASS = "javax.faces.application.ApplicationFactory"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String FACES_CONTEXT_FACTORY_SUPER_CLASS = "javax.faces.context.FacesContextFactory"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String LIFECYCLE_FACTORY_SUPER_CLASS = "javax.faces.lifecycle.LifecycleFactory"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String RENDER_KIT_FACTORY_SUPER_CLASS = "javax.faces.render.RenderKitFactory"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String PHASE_LISTENER_INTERFACE = "javax.faces.event.PhaseListener"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_APPLICATION = "application"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_SESSION = "session"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_REQUEST = "request"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_VIEW = "view"; //$NON-NLS-1$

	/**
	 * 
	 */
	public static final String MANAGED_BEAN_SCOPE_NONE = "none"; //$NON-NLS-1$

}
