/** * Copyright (c) 2011 NumberFour AG * * 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: * NumberFour AG - initial API and Implementation (Alex Panchenko) */ package org.eclipse.dltk.javascript.typeinfo.model; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.eclipse.dltk.ast.Modifiers; import org.eclipse.dltk.internal.javascript.parser.JSModifiers; import org.eclipse.emf.common.util.Enumerator; /** * <!-- begin-user-doc --> * A representation of the literals of the enumeration '<em><b>Visibility</b></em>', * and utility methods for working with them. * <!-- end-user-doc --> * @see org.eclipse.dltk.javascript.typeinfo.model.TypeInfoModelPackage#getVisibility() * @model * @generated */ public enum Visibility implements Enumerator { /** * The '<em><b>PUBLIC</b></em>' literal object. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #PUBLIC_VALUE * @generated * @ordered */ PUBLIC(0, "PUBLIC", "PUBLIC"), /** * The '<em><b>PROTECTED</b></em>' literal object. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #PROTECTED_VALUE * @generated * @ordered */ PROTECTED(50, "PROTECTED", "PROTECTED"), /** * The '<em><b>INTERNAL</b></em>' literal object. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #INTERNAL_VALUE * @generated * @ordered */ INTERNAL(75, "INTERNAL", "INTERNAL"), //$NON-NLS-1$ //$NON-NLS-2$ /** * The '<em><b>PRIVATE</b></em>' literal object. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #PRIVATE_VALUE * @generated * @ordered */ PRIVATE(100, "PRIVATE", "PRIVATE"); //$NON-NLS-1$ //$NON-NLS-2$ /** * The '<em><b>PUBLIC</b></em>' literal value. * <!-- begin-user-doc --> * <p> * If the meaning of '<em><b>PUBLIC</b></em>' literal object isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @see #PUBLIC * @model * @generated * @ordered */ public static final int PUBLIC_VALUE = 0; /** * The '<em><b>PROTECTED</b></em>' literal value. * <!-- begin-user-doc --> * <p> * If the meaning of '<em><b>PROTECTED</b></em>' literal object isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @see #PROTECTED * @model * @generated * @ordered */ public static final int PROTECTED_VALUE = 50; /** * The '<em><b>INTERNAL</b></em>' literal value. * <!-- begin-user-doc --> * <p> * If the meaning of '<em><b>INTERNAL</b></em>' literal object isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @see #INTERNAL * @model * @generated * @ordered */ public static final int INTERNAL_VALUE = 75; /** * The '<em><b>PRIVATE</b></em>' literal value. * <!-- begin-user-doc --> * <p> * If the meaning of '<em><b>PRIVATE</b></em>' literal object isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @see #PRIVATE * @model * @generated * @ordered */ public static final int PRIVATE_VALUE = 100; /** * An array of all the '<em><b>Visibility</b></em>' enumerators. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private static final Visibility[] VALUES_ARRAY = new Visibility[] { PUBLIC, PROTECTED, INTERNAL, PRIVATE, }; /** * A public read-only list of all the '<em><b>Visibility</b></em>' enumerators. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static final List<Visibility> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); /** * Returns the '<em><b>Visibility</b></em>' literal with the specified literal value. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static Visibility get(String literal) { for (int i = 0; i < VALUES_ARRAY.length; ++i) { Visibility result = VALUES_ARRAY[i]; if (result.toString().equals(literal)) { return result; } } return null; } /** * Returns the '<em><b>Visibility</b></em>' literal with the specified name. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static Visibility getByName(String name) { for (int i = 0; i < VALUES_ARRAY.length; ++i) { Visibility result = VALUES_ARRAY[i]; if (result.getName().equals(name)) { return result; } } return null; } /** * Returns the '<em><b>Visibility</b></em>' literal with the specified integer value. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static Visibility get(int value) { switch (value) { case PUBLIC_VALUE: return PUBLIC; case PROTECTED_VALUE: return PROTECTED; case INTERNAL_VALUE: return INTERNAL; case PRIVATE_VALUE: return PRIVATE; } return null; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private final int value; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private final String name; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private final String literal; /** * Only this class can construct instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private Visibility(int value, String name, String literal) { this.value = value; this.name = name; this.literal = literal; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public int getValue() { return value; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getName() { return name; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getLiteral() { return literal; } /** * Returns the literal value of the enumerator, which is its string representation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String toString() { return literal; } public int getFlags() { switch (this) { case PUBLIC: return JSModifiers.PUBLIC; case PROTECTED: return JSModifiers.PROTECTED; case PRIVATE: return JSModifiers.PRIVATE; default: return Modifiers.AccDefault; } } public static int getFlags(Visibility visibility) { return visibility != null ? visibility.getFlags() : Modifiers.AccDefault; } } //Visibility