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

      public static final VariabilityType 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

      public static final VariabilityType 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

      public static final VariabilityType 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

      public static final VariabilityType 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

      public static final VariabilityType LOCAL_CONTRIBUTION
      The 'Local Contribution' literal object.
      See Also:
      LOCAL_CONTRIBUTION_VALUE
    • LOCAL_REPLACEMENT

      public static final VariabilityType LOCAL_REPLACEMENT
      The 'Local Replacement' literal object.
      See Also:
      LOCAL_REPLACEMENT_VALUE
    • EXTENDS_REPLACES

      public static final VariabilityType EXTENDS_REPLACES
      The 'Extends Replaces' literal object.
      See Also:
      EXTENDS_REPLACES_VALUE
  • Field Details

    • NA_VALUE

      public static final int NA_VALUE
      The '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_VALUE
      The '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_VALUE
      The '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_VALUE
      The '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_VALUE
      The 'Local Contribution' literal value.
      See Also:
      LOCAL_CONTRIBUTION, Constant Field Values
    • LOCAL_REPLACEMENT_VALUE

      public static final int LOCAL_REPLACEMENT_VALUE
      The 'Local Replacement' literal value.
      See Also:
      LOCAL_REPLACEMENT, Constant Field Values
    • EXTENDS_REPLACES_VALUE

      public static final int EXTENDS_REPLACES_VALUE
      The 'Extends Replaces' literal value.
      See Also:
      EXTENDS_REPLACES, Constant Field Values
    • VALUES

      public static final java.util.List<VariabilityType> VALUES
      A public read-only list of all the 'Variability Type' enumerators.
  • Method Details

    • values

      public static VariabilityType[] 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

      public static VariabilityType valueOf​(java.lang.String name)
      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 name
      java.lang.NullPointerException - if the argument is null
    • get

      public static VariabilityType get​(java.lang.String literal)
      Returns the 'Variability Type' literal with the specified literal value.
      Parameters:
      literal - the literal.
      Returns:
      the matching enumerator or null.
    • getByName

      public static VariabilityType getByName​(java.lang.String name)
      Returns the 'Variability Type' literal with the specified name.
      Parameters:
      name - the name.
      Returns:
      the matching enumerator or null.
    • get

      public static VariabilityType get​(int value)
      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 interface org.eclipse.emf.common.util.Enumerator
    • getName

      public java.lang.String getName()
      Specified by:
      getName in interface org.eclipse.emf.common.util.Enumerator
    • getLiteral

      public java.lang.String getLiteral()
      Specified by:
      getLiteral in interface org.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 class java.lang.Enum<VariabilityType>