Enum Class ParameterChangePolicy
- All Implemented Interfaces:
Serializable,Comparable<ParameterChangePolicy>,java.lang.constant.Constable
Generic operations do not have a fixed interface but may allow to change
their input and output parameters. This requires the operation to detect the
parameters at runtime. Parameters may be added, changed or removed depending
on the operation. This corresponds to the behaviour of programming languages:
However, the change policies
- Adding, changing and removing resembles determining an operation at runtime via reflection.
- Changing a parameter is comparable to a type hierarchy having a common super type and special subtypes. However, the type hierarchy has some constraints on the kind of changes that are allowed.
- Adding a parameter is equal to a variable amount of parameters, "varargs " in Java.
However, the change policies
CHANGE_PARAMETERS and
ADD_PARAMETERS are at the same level and are mutual exclusive.
In the inheritance of the activity model, the parameter change policy applies
to the next level of entities for parameters, that is, when setting
the parameter change policy from GENERIC to FIXED,
one may change the parameters of the current entity but not that of the child
entity.
However, the parameter change policy FIXED affects the
parameter templates of the current entity. In this case no changes
(no addition and no removal) are allowed for parameter templates. This does
not make any sense since parameters may not be changed any more.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionParameters may be added and changed but not removed.Parameters may be added, but no parameters may be changed or removed.Parameters may not added, changed or removed.Parameters may be changed, but no parameters may be added or removed.The interface of the operation is fixed; no parameters may be added, changed or removed even no virtual parameters.Parameters may be added, changed and removed arbitrarily. -
Method Summary
Modifier and TypeMethodDescriptionbytegetCode()Returns a byte code representing this parameter change policy.static ParameterChangePolicyvalueOf(byte code) Returns the parameter change policy for the given code ornullif the code is not recognised.static ParameterChangePolicyReturns the enum constant of this class with the specified name.static ParameterChangePolicy[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
GENERIC
Parameters may be added, changed and removed arbitrarily. -
ADD_CHANGE_PARAMETERS
Parameters may be added and changed but not removed. -
ADD_PARAMETERS
Parameters may be added, but no parameters may be changed or removed. This is at the same level of "genericness" asCHANGE_PARAMETERS; these policies are mutual exclusive. -
CHANGE_PARAMETERS
Parameters may be changed, but no parameters may be added or removed. This is at the same level of "genericness" asADD_PARAMETERS; these policies are mutual exclusive. -
ADD_VIRTUAL
Parameters may not added, changed or removed. Only virtual parameters may be added which allows to provide additional data flows outside of the process and beyond the interface of the operation. -
FIXED
The interface of the operation is fixed; no parameters may be added, changed or removed even no virtual parameters. This is the normal change policy for operations without any generic behaviour.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
getCode
public byte getCode()Returns a byte code representing this parameter change policy. This code is resilient to reordering or renaming the enum constants.- Returns:
- a byte code representing this parameter change policy
-
valueOf
Returns the parameter change policy for the given code ornullif the code is not recognised.- Parameters:
code- the code for which to find the parameter change policy- Returns:
- the parameter change policy for the given code
-