blob: df43d58a5ef633d3b5383f80fab2d8df5225e238 [file] [log] [blame]
/*
* Copyright (c) 2006, 2018 IBM Corporation, CEA, and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* IBM - initial API and implementation
* Kenn Hussey (CEA) - 327039, 418466, 451350, 485756
* Christian W. Damus (CEA) - 251963
* Kenn Hussey - 342235, 535301
*
*/
package org.eclipse.uml2.uml;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.Enumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>Transition Kind</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* TransitionKind is an Enumeration type used to differentiate the various kinds of Transitions.
* <p>From package UML::StateMachines.</p>
* <!-- end-model-doc -->
* @see org.eclipse.uml2.uml.UMLPackage#getTransitionKind()
* @model
* @generated
*/
public enum TransitionKind
implements Enumerator {
/**
* The '<em><b>Internal</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Implies that the Transition, if triggered, occurs without exiting or entering the source State (i.e., it does not cause a state change). This means that the entry or exit condition of the source State will not be invoked. An internal Transition can be taken even if the SateMachine is in one or more Regions nested within the associated State.
* <!-- end-model-doc -->
* @see #INTERNAL
* @generated
* @ordered
*/
INTERNAL_LITERAL(0, "internal", "internal"), //$NON-NLS-1$ //$NON-NLS-2$
/**
* The '<em><b>Local</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Implies that the Transition, if triggered, will not exit the composite (source) State, but it will exit and re-enter any state within the composite State that is in the current state configuration.
* <!-- end-model-doc -->
* @see #LOCAL
* @generated
* @ordered
*/
LOCAL_LITERAL(1, "local", "local"), //$NON-NLS-1$ //$NON-NLS-2$
/**
* The '<em><b>External</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Implies that the Transition, if triggered, will exit the composite (source) State.
* <!-- end-model-doc -->
* @see #EXTERNAL
* @generated
* @ordered
*/
EXTERNAL_LITERAL(2, "external", "external"); //$NON-NLS-1$ //$NON-NLS-2$
/**
* The '<em><b>Internal</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Implies that the Transition, if triggered, occurs without exiting or entering the source State (i.e., it does not cause a state change). This means that the entry or exit condition of the source State will not be invoked. An internal Transition can be taken even if the SateMachine is in one or more Regions nested within the associated State.
* <!-- end-model-doc -->
* @see #INTERNAL_LITERAL
* @model name="internal"
* @generated
* @ordered
*/
public static final int INTERNAL = 0;
/**
* The '<em><b>Local</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Implies that the Transition, if triggered, will not exit the composite (source) State, but it will exit and re-enter any state within the composite State that is in the current state configuration.
* <!-- end-model-doc -->
* @see #LOCAL_LITERAL
* @model name="local"
* @generated
* @ordered
*/
public static final int LOCAL = 1;
/**
* The '<em><b>External</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Implies that the Transition, if triggered, will exit the composite (source) State.
* <!-- end-model-doc -->
* @see #EXTERNAL_LITERAL
* @model name="external"
* @generated
* @ordered
*/
public static final int EXTERNAL = 2;
/**
* An array of all the '<em><b>Transition Kind</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final TransitionKind[] VALUES_ARRAY = new TransitionKind[]{
INTERNAL_LITERAL, LOCAL_LITERAL, EXTERNAL_LITERAL,};
/**
* A public read-only list of all the '<em><b>Transition Kind</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<TransitionKind> VALUES = Collections
.unmodifiableList(Arrays.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>Transition Kind</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal the literal.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static TransitionKind get(String literal) {
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
TransitionKind result = VALUES_ARRAY[i];
if (result.toString().equals(literal)) {
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Transition Kind</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name the name.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static TransitionKind getByName(String name) {
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
TransitionKind result = VALUES_ARRAY[i];
if (result.getName().equals(name)) {
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Transition Kind</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the integer value.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static TransitionKind get(int value) {
switch (value) {
case INTERNAL :
return INTERNAL_LITERAL;
case LOCAL :
return LOCAL_LITERAL;
case EXTERNAL :
return EXTERNAL_LITERAL;
}
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 TransitionKind(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;
}
} //TransitionKind