blob: 9c8543bdfaa3c635697bacac2fbde28234ab7062 [file] [log] [blame]
/*
* Copyright (c) 2005, 2006 IBM 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:
* IBM - initial API and implementation
*
* $Id: VisibilityKind.java,v 1.3 2006/05/12 20:38:07 khussey Exp $
*/
package org.eclipse.uml2.uml;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.AbstractEnumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>Visibility Kind</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* VisibilityKind is an enumeration type that defines literals to determine the visibility of elements in a model.
* <!-- end-model-doc -->
* @see org.eclipse.uml2.uml.UMLPackage#getVisibilityKind()
* @model
* @generated
*/
public final class VisibilityKind
extends AbstractEnumerator {
/**
* The '<em><b>Public</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* A public element is visible to all elements that can access the contents of the namespace that owns it.
* <!-- end-model-doc -->
* @see #PUBLIC_LITERAL
* @model name="public"
* @generated
* @ordered
*/
public static final int PUBLIC = 0;
/**
* The '<em><b>Private</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* A private element is only visible inside the namespace that owns it.
* <!-- end-model-doc -->
* @see #PRIVATE_LITERAL
* @model name="private"
* @generated
* @ordered
*/
public static final int PRIVATE = 1;
/**
* The '<em><b>Protected</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* A protected element is visible to elements that have a generalization relationship to the namespace that owns it.
* <!-- end-model-doc -->
* @see #PROTECTED_LITERAL
* @model name="protected"
* @generated
* @ordered
*/
public static final int PROTECTED = 2;
/**
* The '<em><b>Package</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* A package element is owned by a namespace that is not a package, and is visible to elements that are in the same package as its owning namespace. Only named elements that are not owned by packages can be marked as having package visibility. Any element marked as having package visibility is visible to all elements within the nearest enclosing package (given that other owning elements have proper visibility). Outside the nearest enclosing package, an element marked as having package visibility is not visible.
* <!-- end-model-doc -->
* @see #PACKAGE_LITERAL
* @model name="package"
* @generated
* @ordered
*/
public static final int PACKAGE = 3;
/**
* The '<em><b>Public</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #PUBLIC
* @generated
* @ordered
*/
public static final VisibilityKind PUBLIC_LITERAL = new VisibilityKind(
PUBLIC, "public", "public"); //$NON-NLS-1$ //$NON-NLS-2$
/**
* The '<em><b>Private</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #PRIVATE
* @generated
* @ordered
*/
public static final VisibilityKind PRIVATE_LITERAL = new VisibilityKind(
PRIVATE, "private", "private"); //$NON-NLS-1$ //$NON-NLS-2$
/**
* The '<em><b>Protected</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #PROTECTED
* @generated
* @ordered
*/
public static final VisibilityKind PROTECTED_LITERAL = new VisibilityKind(
PROTECTED, "protected", "protected"); //$NON-NLS-1$ //$NON-NLS-2$
/**
* The '<em><b>Package</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #PACKAGE
* @generated
* @ordered
*/
public static final VisibilityKind PACKAGE_LITERAL = new VisibilityKind(
PACKAGE, "package", "package"); //$NON-NLS-1$ //$NON-NLS-2$
/**
* An array of all the '<em><b>Visibility Kind</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final VisibilityKind[] VALUES_ARRAY = new VisibilityKind[]{
PUBLIC_LITERAL, PRIVATE_LITERAL, PROTECTED_LITERAL, PACKAGE_LITERAL,};
/**
* A public read-only list of all the '<em><b>Visibility Kind</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List VALUES = Collections.unmodifiableList(Arrays
.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>Visibility Kind</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static VisibilityKind get(String literal) {
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
VisibilityKind result = VALUES_ARRAY[i];
if (result.toString().equals(literal)) {
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Visibility Kind</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static VisibilityKind getByName(String name) {
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
VisibilityKind result = VALUES_ARRAY[i];
if (result.getName().equals(name)) {
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Visibility Kind</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static VisibilityKind get(int value) {
switch (value) {
case PUBLIC :
return PUBLIC_LITERAL;
case PRIVATE :
return PRIVATE_LITERAL;
case PROTECTED :
return PROTECTED_LITERAL;
case PACKAGE :
return PACKAGE_LITERAL;
}
return null;
}
/**
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private VisibilityKind(int value, String name, String literal) {
super(value, name, literal);
}
} //VisibilityKind