blob: ff291500ae7670dd0a9149608e479a7469d0b922 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012, 2018 Willink Transformations 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:
* E.D.Willink - Initial API and implementation
*******************************************************************************/
package org.eclipse.ocl.pivot;
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.
* <!-- end-model-doc -->
* @see org.eclipse.ocl.pivot.PivotPackage#getTransitionKind()
* @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_VALUE
* @generated
* @ordered
*/
INTERNAL(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_VALUE
* @generated
* @ordered
*/
LOCAL(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_VALUE
* @generated
* @ordered
*/
EXTERNAL(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
* @generated
* @ordered
*/
public static final int INTERNAL_VALUE = 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
* @generated
* @ordered
*/
public static final int LOCAL_VALUE = 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
* @generated
* @ordered
*/
public static final int EXTERNAL_VALUE = 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,
LOCAL,
EXTERNAL,
};
/**
* 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_VALUE: return INTERNAL;
case LOCAL_VALUE: return LOCAL;
case EXTERNAL_VALUE: return EXTERNAL;
}
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
*/
@Override
public int getValue()
{
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getName()
{
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
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