Parameter mapping for Java (Java code)
ACS generates an Operation's Parameter as part of the method created for the Operation.
The generation of a Parameter is derived from its properties, and the tagged values set for the Tag Definitions applied by the «Java Parameter» stereotype.
Properties:
• If the Data Type property is set, ACS generates the value as the parameter's data type.
Example code:
// File foo.java
void SomeOp(int a,
String name)
{
}
If no data type is specified, ACS generates int by default. If you want ACS to generate a different default in the absence of a data type for an Attribute or Parameter, change the default value that is specified in the JavaGen.ini file.
Tell me more... | Reverser Notes: When reverse engineering a attribute's data type: • If the data type is modeled in the Model or is going to be reverse engineered to the Model, the Parameter's Data Type references the appropriate item. • If the data type is not modeled in the Model and is not going to be reverse engineered to the Model, the Parameter's Data Type is set to the name of the data type (as text). |
• The Default property is ignored.
• If the Mechanism property is set to 'in', ACS generates the parameter as final.
Example code:
public void func(final int foo)
{
}
• The Name property is generated as the name of the parameter in the code.
Example code:
public int sum(int first,
int second)
{
return first +second;
}
| ACS may modify the parameter name that is added to the code to make it valid for Java. You can specify the exact parameter name to add to the code through the CODE_GENERATION_NAME property of a Parameter.
Tell me more... |
Tag Definitions:
The following Tag Definitions are applied to a Parameter by the «Java Parameter» stereotype:
• If the tagged value of the Java Actual Arguments tag definition has been set and the Parameter is using a Java Generic as its data type, ACS generates the value as the arguments that are passed to the generic type.
• If the tagged value of the Java Array Spec tag definition has been set, ACS generates the value after the parameters data type. Note that the tagged value should be one or more pairs of empty brackets.
Example code:
void foo(char [] name);
| Reverser Notes: When reverse engineering parameters, the Reverser reverse engineers array specifications to the tagged value of the Java Array Spec tag definition. |
• If the tagged value of the Java Is Variable Length tag definition is set to TRUE, ACS generates the Parameter as a variable length parameter.
Example code:
void op(String name, String ... otherDetails)
{
}
• If the tagged value of the Java Needs Qualified Type tag definition is set to TRUE, ACS generates the parameter's data type with a qualified name.
public class foo
{
public bar myBar;
protected thing myThang;
}