/* ***** BEGIN LICENSE BLOCK *****
* Version: GPL 3
*
* This program is Copyright (C) 2007-2008 Aptana, Inc. All Rights Reserved
* This program is licensed under the GNU General Public license, version 3 (GPL).
*
* This program is distributed in the hope that it will be useful, but
* AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
* NONINFRINGEMENT. Redistribution, except as permitted by the GPL,
* is prohibited.
*
* You can redistribute and/or modify this program under the terms of the GPL,
* as published by the Free Software Foundation. You should
* have received a copy of the GNU General Public License, Version 3 along
* with this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Aptana provides a special exception to allow redistribution of this file
* with certain other code and certain additional terms
* pursuant to Section 7 of the GPL. You may view the exception and these
* terms on the web at http://www.aptana.com/legal/gpl/.
*
* You may view the GPL, and Aptana's exception and additional terms in the file
* titled license-jaxer.html in the main distribution folder of this program.
*
* Any modifications to this file must keep this entire header intact.
*
* ***** END LICENSE BLOCK ***** */
package com.aptana.ide.editor.js.parsing;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
/**
* @author Kevin Lindsey
*/
public enum JSHandlerAction
{
ADD_ARGUMENT("AddArgument"), //$NON-NLS-1$
ADD_CASE_CLAUSE("AddCaseClause"), //$NON-NLS-1$
ADD_ELEMENT("AddElement"), //$NON-NLS-1$
ADD_ELIDED_ELEMENT("AddElidedElement"), //$NON-NLS-1$
ADD_ELISION("AddElision"), //$NON-NLS-1$
ADD_PARAMETER("AddParameter"), //$NON-NLS-1$
ADD_PROPERTY("AddProperty"), //$NON-NLS-1$
ADD_SOURCE_ELEMENT("AddSourceElement"), //$NON-NLS-1$
ADD_STATEMENT("AddStatement"), //$NON-NLS-1$
ADD_VAR_DECLARATION("AddVarDeclaration"), //$NON-NLS-1$
ARGUMENTS("Arguments"), //$NON-NLS-1$
ARRAY_LITERAL("ArrayLiteral"), //$NON-NLS-1$
ARRAY_LITERAL_TRAILING_COMMA("ArrayLiteralTrailingComma"), //$NON-NLS-1$
ARRAY_LITERAL_TRAILING_ELISION("ArrayLiteralTrailingElision"), //$NON-NLS-1$
ASSIGNMENT_EXPRESSION("AssignmentExpression"), //$NON-NLS-1$
BINARY_EXPRESSION("BinaryExpression"), //$NON-NLS-1$
BLOCK("Block"), //$NON-NLS-1$
BREAK("Break"), //$NON-NLS-1$
BREAK_LABEL("BreakLabel"), //$NON-NLS-1$
CALL_EXPRESSION("CallExpression"), //$NON-NLS-1$
CASE_CLAUSE("CaseClause"), //$NON-NLS-1$
CASES_BLOCK("CasesBlock"), //$NON-NLS-1$
CASES_AND_DEFAULT_BLOCK("CasesAndDefaultBlock"), //$NON-NLS-1$
CASES_DEFAULT_CASES_BLOCK("CasesDefaultCasesBlock"), //$NON-NLS-1$
CATCH("Catch"), //$NON-NLS-1$
COMMA_EXPRESSION("CommaExpression"), //$NON-NLS-1$
CONDITIONAL_EXPRESSION("ConditionalExpression"), //$NON-NLS-1$
CONTINUE("Continue"), //$NON-NLS-1$
CONTINUE_LABEL("ContinueLabel"), //$NON-NLS-1$
DEFAULT_BLOCK("DefaultBlock"), //$NON-NLS-1$
DEFAULT_AND_CASES_BLOCK("DefaultAndCasesBlock"), //$NON-NLS-1$
DEFAULT_CLAUSE("DefaultClause"), //$NON-NLS-1$
DO_STATEMENT("DoStatement"), //$NON-NLS-1$
ELIDED_ARRAY("ElidedArray"), //$NON-NLS-1$
EMPTY_ARGUMENTS("EmptyArguments"), //$NON-NLS-1$
EMPTY_ARRAY("EmptyArray"), //$NON-NLS-1$
EMPTY_BLOCK("EmptyBlock"), //$NON-NLS-1$
EMPTY_CASE_BLOCK("EmptyCaseBlock"), //$NON-NLS-1$
EMPTY_CASE_CLAUSE("EmptyCaseClause"), //$NON-NLS-1$
EMPTY_DEFAULT_CLAUSE("EmptyDefaultClause"), //$NON-NLS-1$
EMPTY_FUNCTION_BODY("EmptyFunctionBody"), //$NON-NLS-1$
EMPTY_OBJECT("EmptyObject"), //$NON-NLS-1$
EMPTY_PARAMTER_LIST("EmptyParameterList"), //$NON-NLS-1$
EMPTY_STATEMENT("EmptyStatement"), //$NON-NLS-1$
EXPRESSION_STATEMENT("ExpressionStatement"), //$NON-NLS-1$
FALSE("False"), //$NON-NLS-1$
FINALLY("Finally"), //$NON-NLS-1$
FIRST_ARGUMENT("FirstArgument"), //$NON-NLS-1$
FIRST_CASE_CLAUSE("FirstCaseClause"), //$NON-NLS-1$
FIRST_ELEMENT("FirstElement"), //$NON-NLS-1$
FIRST_ELIDED_ELEMENT("FirstElidedElement"), //$NON-NLS-1$
FIRST_ELISION("FirstElision"), //$NON-NLS-1$
FIRST_PARAMETER("FirstParameter"), //$NON-NLS-1$
FIRST_PROPERTY("FirstProperty"), //$NON-NLS-1$
FIRST_SOURCE_ELEMENT("FirstSourceElement"), //$NON-NLS-1$
FIRST_STATEMENT("FirstStatement"), //$NON-NLS-1$
FIRST_VAR_DECLARATION("FirstVarDeclaration"), //$NON-NLS-1$
FOR_ADVANCE_ONLY_STATEMENT("ForAdvanceOnlyStatement"), //$NON-NLS-1$
FOR_BODY_ONLY_STATEMENT("ForBodyOnlyStatement"), //$NON-NLS-1$
FOR_CONDITION_ONLY_STATEMENT("ForConditionOnlyStatement"), //$NON-NLS-1$
FOR_IN_STATEMENT("ForInStatement"), //$NON-NLS-1$
FOR_INITIALIZE_ONLY_STATEMENT("ForInitializeOnlyStatement"), //$NON-NLS-1$
FOR_NO_ADVANCE_STATEMENT("ForNoAdvanceStatement"), //$NON-NLS-1$
FOR_NO_CONDITION_STATEMENT("ForNoConditionStatement"), //$NON-NLS-1$
FOR_NO_INITIALIZE_STATEMENT("ForNoInitializeStatement"), //$NON-NLS-1$
FOR_STATEMENT("ForStatement"), //$NON-NLS-1$
FOR_VAR_IN_STATEMENT("ForVarInStatement"), //$NON-NLS-1$
FOR_VAR_INITIALIZE_ONLY_STATEMENT("ForVarInitializeOnlyStatement"), //$NON-NLS-1$
FOR_VAR_NO_ADVANCE_STATEMENT("ForVarNoAdvanceStatement"), //$NON-NLS-1$
FOR_VAR_NO_CONDITION_STATEMENT("ForVarNoConditionStatement"), //$NON-NLS-1$
FOR_VAR_STATEMENT("ForVarStatement"), //$NON-NLS-1$
FUNCTION_BODY("FunctionBody"), //$NON-NLS-1$
FUNCTION_DECLARATION("FunctionDeclaration"), //$NON-NLS-1$
FUNCTION_EXPRESSION("FunctionExpression"), //$NON-NLS-1$
GET_ELEMENT("GetElement"), //$NON-NLS-1$
GET_PROPERTY("GetProperty"), //$NON-NLS-1$
GROUP_EXPRESSION("GroupExpression"), //$NON-NLS-1$
IDENTIFIER("Identifier"), //$NON-NLS-1$
IF_ELSE_STATEMENT("IfElseStatement"), //$NON-NLS-1$
IF_STATEMENT("IfStatement"), //$NON-NLS-1$
LABELLED_STATEMENT("LabelledStatement"), //$NON-NLS-1$
NEW_EXPRESSION("NewExpression"), //$NON-NLS-1$
NEW_EXPRESSION_WITHOUT_ARGUMENTS("NewExpressionWithoutArguments"), //$NON-NLS-1$
NULL("Null"), //$NON-NLS-1$
NUMBER("Number"), //$NON-NLS-1$
OBJECT_LITERAL("ObjectLiteral"), //$NON-NLS-1$
PARAMETER_LIST("ParameterList"), //$NON-NLS-1$
POSTFIX_EXPRESSION("PostfixExpression"), //$NON-NLS-1$
REGEX("Regex"), //$NON-NLS-1$
RETURN("Return"), //$NON-NLS-1$
RETURN_VALUE("ReturnValue"), //$NON-NLS-1$
STRING("String"), //$NON-NLS-1$
SWITCH_STATEMENT("SwitchStatement"), //$NON-NLS-1$
THIS("This"), //$NON-NLS-1$
THROW_STATEMENT("ThrowStatement"), //$NON-NLS-1$
TRUE("True"), //$NON-NLS-1$
TRY_CATCH_STATEMENT("TryCatchStatement"), //$NON-NLS-1$
TRY_FINALLY_STATEMENT("TryFinallyStatement"), //$NON-NLS-1$
TRY_CATCH_FINALLY_STATEMENT("TryCatchFinallyStatement"), //$NON-NLS-1$
UNARY_EXPRESSION("UnaryExpression"), //$NON-NLS-1$
VAR_DECLARATION("VarDeclaration"), //$NON-NLS-1$
VAR_DECLARATION_ASSIGNMENT("VarDeclarationAssignment"), //$NON-NLS-1$
VAR_STATEMENT("VarStatement"), //$NON-NLS-1$
WHILE_STATEMENT("WhileStatement"), //$NON-NLS-1$
WITH_STATEMENT("WithStatement"); //$NON-NLS-1$
private static final Map<String,JSHandlerAction> NAME_MAP;
private String _name;
/**
* static constructor
*/
static
{
NAME_MAP = new HashMap<String,JSHandlerAction>();
for (JSHandlerAction action : EnumSet.allOf(JSHandlerAction.class))
{
NAME_MAP.put(action.getName(), action);
}
}
/**
* JSHandleActions
*
* @param name
*/
private JSHandlerAction(String name)
{
this._name = name;
}
/**
* get
*
* @param name
* @return
*/
public static final JSHandlerAction get(String name)
{
return NAME_MAP.get(name);
}
/**
* getName
*
* @return
*/
public String getName()
{
return this._name;
}
}