blob: a469d8050c979905f4d5d30a5d25ce7ffd5e10df [file] [log] [blame]
/**
* Copyright (c) 2011 NumberFour AG
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* 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