Package org.eclipse.epf.uma
Enum VariabilityType
java.lang.Object
java.lang.Enum<VariabilityType>
org.eclipse.epf.uma.VariabilityType
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<VariabilityType>
,java.lang.constant.Constable
,org.eclipse.emf.common.util.Enumerator
public enum VariabilityType extends java.lang.Enum<VariabilityType> implements org.eclipse.emf.common.util.Enumerator
A representation of the literals of the enumeration 'Variability Type',
and utility methods for working with them.
Variability Type is an Enumeration used for values for instances of Variability Element's attribute variabilityType. It defines the nature of how a Variability Element extends another Variability Element. See enumeration literals for definitions for each type.
- See Also:
UmaPackage.getVariabilityType()
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
java.lang.Enum.EnumDesc<E extends java.lang.Enum<E>>
-
Enum Constant Summary
Enum Constants Enum Constant Description CONTRIBUTES
The 'Contributes' literal object.EXTENDS
The 'Extends' literal object.EXTENDS_REPLACES
The 'Extends Replaces' literal object.LOCAL_CONTRIBUTION
The 'Local Contribution' literal object.LOCAL_REPLACEMENT
The 'Local Replacement' literal object.NA
The 'Na' literal object.REPLACES
The 'Replaces' literal object. -
Field Summary
Fields Modifier and Type Field Description static int
CONTRIBUTES_VALUE
The 'Contributes' literal value.static int
EXTENDS_REPLACES_VALUE
The 'Extends Replaces' literal value.static int
EXTENDS_VALUE
The 'Extends' literal value.static int
LOCAL_CONTRIBUTION_VALUE
The 'Local Contribution' literal value.static int
LOCAL_REPLACEMENT_VALUE
The 'Local Replacement' literal value.static int
NA_VALUE
The 'Na' literal value.static int
REPLACES_VALUE
The 'Replaces' literal value.static java.util.List<VariabilityType>
VALUES
A public read-only list of all the 'Variability Type' enumerators. -
Method Summary
Modifier and Type Method Description static VariabilityType
get(int value)
Returns the 'Variability Type' literal with the specified integer value.static VariabilityType
get(java.lang.String literal)
Returns the 'Variability Type' literal with the specified literal value.static VariabilityType
getByName(java.lang.String name)
Returns the 'Variability Type' literal with the specified name.java.lang.String
getLiteral()
java.lang.String
getName()
int
getValue()
java.lang.String
toString()
Returns the literal value of the enumerator, which is its string representation.static VariabilityType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static VariabilityType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.Methods inherited from class java.lang.Enum
compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
-
Enum Constant Details
-
NA
The 'Na' literal object. This is the default "not assigned" value of a Variabillity Element's variabilityType attribute which is set in the case no variability association is present between the Variability Element and other Variability Elements.- See Also:
NA_VALUE
-
CONTRIBUTES
The 'Contributes' literal object. Contributes provides a way for instances of Variability Elements to contribute their properties into their base Variability Element without directly altering any of its existing properties, i.e. in an additive fashion. Properties contributed are: attribute values and association instances. The effect after interpretation of contribution is that the base Variability Element is logically replaced with an augmented variant of the element that combines attribute values and association instances. The way this combination is realized depends on the type of the attribute or association. For example, String attributes are concatenated resolving embedded commands for dependent text or merging text fragments (e.g. descriptions for content elements). Additional elements in to-many associations are added (e.g. additional Guidance elements or Task Descriptors of an Activity). Different elements in to-one associations are ignored (e.g. the one Primary Performer of a Task). Multiple Content Elements can contribute to the same base element and all of these contributions properties are added to the base in the same fashion. The following table provides the detailed list of interpretation rules: attribute values: String values from the special Variability Element are concatenated with values from the based-on Variability Element. Other values from the special Variability Element of any other type such as Integer, Date are ignored. The identifying attributes guid and name of Method Element are exempt from this rule and will not be modified. 0..1-association instances: The one association instance of the based-on Variability Element is kept and any association from the contributing special Variability Element is ignored. 0..n-association instances: Association instances of the special Variability Element are added to the already existing association instances of the based-on element. If both Variability Elements refer to the same object then only one instance of the association will remain.- See Also:
CONTRIBUTES_VALUE
-
EXTENDS
The 'Extends' literal object. Extension allows Method Plugins to easily reuse elements from a Base Plugin by providing a kind of inheritance for the special Variability Element. Attribute values and Association instances are inherited from the based-on Variability Element to the special Variability Element. The result of interpretation is that the special element has the same properties as the based-on has, but might define its own additions. Hence extends is not used to modify content of the base Plugin, but to provide the ability for the extending Plugin to define its own content which is a variant of content already defined (e.g. a special version of a generic Review Record for a specific type of review). The effect of this is that the base Variability Element and any number of extending Variability Elements can be used side by side, but refer to each other via the extends relationship. Extends also provides the key mechanism for binding Capability Patterns to Processes: A pattern is applied by defining an extends relationships from an Activity of the applying Processes to the Pattern. The Activity inherits associations instances from the pattern and the pattern appears to be part of the resulting Process after Interpretation. attribute values: Values from the based-on Variability element are inherited and used to populate the special Variability Elements attributes. If the special element attributes are already populated the inherited values are ignored. The identifying attributes guid and name of Method Element are exempt from this rule and will not be modified. 0..1-association instances: The one association instance of the based-on Variability Element is inherited to the special Variability Element. If the special Variability Element defines its own association instance then the inherited one is ignored. 0..n-association instances: Association instances defined for the based-on Variability Element are inherited to the special Variability Element. The special element can add additional association instances.- See Also:
EXTENDS_VALUE
-
REPLACES
The 'Replaces' literal object. Replaces provides a way for Variability Elements to replace a base Variability Element without directly changing any of its existing properties. This is in most cases used for Method Plugins that aim to replace specific Content Elements such as Roles, Task, or Activities with either a complete new variant or to change fundamental relationships of these elements (e.g. Role-Artifact responsibility). Properties replaced are attribute values and association instances. The effect of this is that the base Content Element is logically replaced with this new variant of the element to which all incoming associations still point as before, but which has potentially new attribute values and outgoing association properties. This provides a very powerful mechanism to replace, for example, whole Activities in a Process with complete new realizations of the Activity. For instance, replacing an Activity doing use case-based design with an activity doing agile code-centric development doing the same work using a different development technique utilizing different Roles, Tasks, etc. Another example, would be to replace an Activity that describes database design for an RDBMS with an Activity that describes database design for an OODBMS. A Variability Element can only be replaced by one other element at a time. For example, if two Method Plugins replace the same element only one Method Plugin can be used for interpretation (see concept of Method Configuration for more details on how to resolve such conflicts, Section 7.1.2). The following table provides the detailed list of interpretation rules: attribute values: Values from the special Variability Element are replaced with values from the based-on Variability Element including unassigned values. The identifying attributes guid and name of Method Element are exempt from this rule and will not be modified. 0..1-association instances: The one association instance of the based-on Variability Element is replaced with the association instance from the replacing special Variability Element. If the special Variability Element does not have an association instance then resulting element will also not have an association. 0..n-association instances: Association instances of the special Variability Element replace all association instances of the based-on Variability Element.- See Also:
REPLACES_VALUE
-
LOCAL_CONTRIBUTION
The 'Local Contribution' literal object.- See Also:
LOCAL_CONTRIBUTION_VALUE
-
LOCAL_REPLACEMENT
The 'Local Replacement' literal object.- See Also:
LOCAL_REPLACEMENT_VALUE
-
EXTENDS_REPLACES
The 'Extends Replaces' literal object.- See Also:
EXTENDS_REPLACES_VALUE
-
-
Field Details
-
NA_VALUE
public static final int NA_VALUEThe 'Na' literal value. This is the default "not assigned" value of a Variabillity Element's variabilityType attribute which is set in the case no variability association is present between the Variability Element and other Variability Elements.- See Also:
NA
, Constant Field Values
-
CONTRIBUTES_VALUE
public static final int CONTRIBUTES_VALUEThe 'Contributes' literal value. Contributes provides a way for instances of Variability Elements to contribute their properties into their base Variability Element without directly altering any of its existing properties, i.e. in an additive fashion. Properties contributed are: attribute values and association instances. The effect after interpretation of contribution is that the base Variability Element is logically replaced with an augmented variant of the element that combines attribute values and association instances. The way this combination is realized depends on the type of the attribute or association. For example, String attributes are concatenated resolving embedded commands for dependent text or merging text fragments (e.g. descriptions for content elements). Additional elements in to-many associations are added (e.g. additional Guidance elements or Task Descriptors of an Activity). Different elements in to-one associations are ignored (e.g. the one Primary Performer of a Task). Multiple Content Elements can contribute to the same base element and all of these contributions properties are added to the base in the same fashion. The following table provides the detailed list of interpretation rules: attribute values: String values from the special Variability Element are concatenated with values from the based-on Variability Element. Other values from the special Variability Element of any other type such as Integer, Date are ignored. The identifying attributes guid and name of Method Element are exempt from this rule and will not be modified. 0..1-association instances: The one association instance of the based-on Variability Element is kept and any association from the contributing special Variability Element is ignored. 0..n-association instances: Association instances of the special Variability Element are added to the already existing association instances of the based-on element. If both Variability Elements refer to the same object then only one instance of the association will remain.- See Also:
CONTRIBUTES
, Constant Field Values
-
EXTENDS_VALUE
public static final int EXTENDS_VALUEThe 'Extends' literal value. Extension allows Method Plugins to easily reuse elements from a Base Plugin by providing a kind of inheritance for the special Variability Element. Attribute values and Association instances are inherited from the based-on Variability Element to the special Variability Element. The result of interpretation is that the special element has the same properties as the based-on has, but might define its own additions. Hence extends is not used to modify content of the base Plugin, but to provide the ability for the extending Plugin to define its own content which is a variant of content already defined (e.g. a special version of a generic Review Record for a specific type of review). The effect of this is that the base Variability Element and any number of extending Variability Elements can be used side by side, but refer to each other via the extends relationship. Extends also provides the key mechanism for binding Capability Patterns to Processes: A pattern is applied by defining an extends relationships from an Activity of the applying Processes to the Pattern. The Activity inherits associations instances from the pattern and the pattern appears to be part of the resulting Process after Interpretation. attribute values: Values from the based-on Variability element are inherited and used to populate the special Variability Elements attributes. If the special element attributes are already populated the inherited values are ignored. The identifying attributes guid and name of Method Element are exempt from this rule and will not be modified. 0..1-association instances: The one association instance of the based-on Variability Element is inherited to the special Variability Element. If the special Variability Element defines its own association instance then the inherited one is ignored. 0..n-association instances: Association instances defined for the based-on Variability Element are inherited to the special Variability Element. The special element can add additional association instances.- See Also:
EXTENDS
, Constant Field Values
-
REPLACES_VALUE
public static final int REPLACES_VALUEThe 'Replaces' literal value. Replaces provides a way for Variability Elements to replace a base Variability Element without directly changing any of its existing properties. This is in most cases used for Method Plugins that aim to replace specific Content Elements such as Roles, Task, or Activities with either a complete new variant or to change fundamental relationships of these elements (e.g. Role-Artifact responsibility). Properties replaced are attribute values and association instances. The effect of this is that the base Content Element is logically replaced with this new variant of the element to which all incoming associations still point as before, but which has potentially new attribute values and outgoing association properties. This provides a very powerful mechanism to replace, for example, whole Activities in a Process with complete new realizations of the Activity. For instance, replacing an Activity doing use case-based design with an activity doing agile code-centric development doing the same work using a different development technique utilizing different Roles, Tasks, etc. Another example, would be to replace an Activity that describes database design for an RDBMS with an Activity that describes database design for an OODBMS. A Variability Element can only be replaced by one other element at a time. For example, if two Method Plugins replace the same element only one Method Plugin can be used for interpretation (see concept of Method Configuration for more details on how to resolve such conflicts, Section 7.1.2). The following table provides the detailed list of interpretation rules: attribute values: Values from the special Variability Element are replaced with values from the based-on Variability Element including unassigned values. The identifying attributes guid and name of Method Element are exempt from this rule and will not be modified. 0..1-association instances: The one association instance of the based-on Variability Element is replaced with the association instance from the replacing special Variability Element. If the special Variability Element does not have an association instance then resulting element will also not have an association. 0..n-association instances: Association instances of the special Variability Element replace all association instances of the based-on Variability Element.- See Also:
REPLACES
, Constant Field Values
-
LOCAL_CONTRIBUTION_VALUE
public static final int LOCAL_CONTRIBUTION_VALUEThe 'Local Contribution' literal value.- See Also:
LOCAL_CONTRIBUTION
, Constant Field Values
-
LOCAL_REPLACEMENT_VALUE
public static final int LOCAL_REPLACEMENT_VALUEThe 'Local Replacement' literal value.- See Also:
LOCAL_REPLACEMENT
, Constant Field Values
-
EXTENDS_REPLACES_VALUE
public static final int EXTENDS_REPLACES_VALUEThe 'Extends Replaces' literal value.- See Also:
EXTENDS_REPLACES
, Constant Field Values
-
VALUES
A public read-only list of all the 'Variability Type' enumerators.
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
get
Returns the 'Variability Type' literal with the specified literal value.- Parameters:
literal
- the literal.- Returns:
- the matching enumerator or
null
.
-
getByName
Returns the 'Variability Type' literal with the specified name.- Parameters:
name
- the name.- Returns:
- the matching enumerator or
null
.
-
get
Returns the 'Variability Type' literal with the specified integer value.- Parameters:
value
- the integer value.- Returns:
- the matching enumerator or
null
.
-
getValue
public int getValue()- Specified by:
getValue
in interfaceorg.eclipse.emf.common.util.Enumerator
-
getName
public java.lang.String getName()- Specified by:
getName
in interfaceorg.eclipse.emf.common.util.Enumerator
-
getLiteral
public java.lang.String getLiteral()- Specified by:
getLiteral
in interfaceorg.eclipse.emf.common.util.Enumerator
-
toString
public java.lang.String toString()Returns the literal value of the enumerator, which is its string representation.- Overrides:
toString
in classjava.lang.Enum<VariabilityType>
-