blob: 43e68283dc913548d7561de08fe5de2305bbb67d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2008 Oracle Corporation 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:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.jsf.common.runtime.internal.view.model.common;
import java.io.Serializable;
import org.eclipse.jst.jsf.common.runtime.internal.model.types.TypeInfo;
/**
* Generic tag handler that has effect when processed by the JSF ViewHandler.
*
* @author cbateman
*
*/
public interface IHandlerTagElement extends IJSFTagElement
{
/**
* Enumerates known types of built-in tag handlers.
*
* @author cbateman
*
*/
static class TagHandlerType extends TypeInfo implements Serializable
{
/**
* serializable id
*/
private static final long serialVersionUID = 5062853948108253861L;
private final static int HANDLER_TYPE_FACET = 0;
private final static int HANDLER_TYPE_ACTIONLISTENER = 1;
private final static int HANDLER_TYPE_VALUECHANGELISTENER = 2;
private final static int HANDLER_TYPE_ATTRIBUTE = 3;
private final static String[] strValues =
{"facet", "actionListener", "valueChangeListener"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
private final int _intValue;
public TagHandlerType(int intValue)
{
_intValue = intValue;
}
public String toString()
{
return strValues[_intValue];
}
protected final int intValue()
{
return _intValue;
}
public final static TagHandlerType FACET =
new TagHandlerType(HANDLER_TYPE_FACET);
public final static TagHandlerType ACTIONLISTENER =
new TagHandlerType(HANDLER_TYPE_ACTIONLISTENER);
public final static TagHandlerType VALUECHANGELISTENER =
new TagHandlerType(HANDLER_TYPE_VALUECHANGELISTENER);
public final static TagHandlerType ATTRIBUTE =
new TagHandlerType(HANDLER_TYPE_ATTRIBUTE);
}
/**
* @return the tag handler type as defined by standard known types of
* tags that do not (necessarily) translate into standard objects at
* runtime but may modify the view in some way.
*/
TagHandlerType getTagHandlerType();
}