Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > Java code > Reverse engineering legacy Java code > Java profile package > Overview of the Java profile package (Java code)
  
Overview of the Java profile package (Java code)
The Java Profile package allows you to model information that is specific to Java. For information about adding the Java Profile to your Model,see Adding the Java profile package to a model (Java code).
For more information about how a Stereotype and its Tag Definitions are used, see the mapping topics.
In addition to the Stereotypes and Tag Definitions, the Java Profile package contains some Basic Types, such as boolean, byte and char.
If you reverse engineer Java code to a model that does not contain the Java profile, the Reverser creates a Java Profile in the Model; however, the Java profile may contain only the Stereotypes and Tag Definitions required for the code you reverse engineered. In addition, each Stereotype and Tag Definition of the Java Profile package will not include a description of its purpose:
If you want to add a complete and documented Java profile to a Model that does not contain the Java Profile package, see Adding the Java profile package to a model (Java code).
If the Reverser has created a Java profile in your Model and you want to update it so that it is complete and includes the Stereotype and Tag Definition descriptions, see Updating the Java profile package in a model (Java code).
* 
ACS does not generate code for the Java profile. In addition, the Java profile does not appear in the Difference View dialog.
* 
Important:
Do not make changes to the Java profile. Any changes you make will be lost when the profile is updated.
Note that you can create Tag Definitions outside of the Java profile, and link those Tag Definitions to Stereotypes in the Java profile. When the Java profile is updated, the links will not be broken.
Do not create copies of the Java profile within a model, or create copies of the Java profile through XMI Import/Export. The copies of the Java profile will not work correctly and you will not be able to update the copies through the Update All Profiles command.
The Java Profile package includes the following Stereotypes and Tag Definitions:
«Java Attribute» stereotype applies the following Tag Definitions to an Attribute:
Java Actual Arguments - specifies the arguments that are passed to a Java generic data type.
Java Array Spec - specifies the array (pairs of empty brackets), which is generated after the data type.
Java Default Access - specifies that the attribute has no access specifier.
Java Field Modifier - specifies that the attribute is volatile, transient or volatile transient.
Java Needs Qualified Type - specifies that the attribute's data type must be qualified.
«Java Class» stereotype applies the following Tag Definitions to a Class, Data Type or Interface:
Java Default Access - specifies that the class or interface has no access specifier.
Java Extends Text - specifies extends statements textually, when those extends statements cannot be modeled through a Generalization.
Java File - retrieves the location of generated or reverse engineered files from the registry.
Java File Comment - specifies a file comment, which is generated at the top of the Java class or interface file.
Java Final - specifies that the class or interface is final.
Java Generate State Machine - specifies whether Java code is generated for a Class' State Diagrams.
Java Implements Text - specifies a list of interfaces that the class implements textually, when the implemented interfaces cannot be modeled through Dependencies of type Abstraction.
Java Import Text - specifies import statements textually, when those import statements cannot be modeled through a Dependency.
Java Is Static - specifies that a nested class or interface is static.
Java Non Member - specifies that a nested Class, Data Type or Interface is generated in the Java file that is created for its parent Class or Interface, but its class or interface construct created for the nested Class, Data type or Interface is generated outside the class or interface construct of its parent class or interface.
«Java Enum» stereotype applies the following Tag Definitions to a Type Definition:
Java Default Access- specifies that the enum has no access specifier.
Java Enum Body- specifies the field and method declarations of an enum.
Java Enum Implements Text- specifies the implements statement for interfaces the enum implements.
Java Is Static- specifies that the enum is static.
Java Non Member- specifies that the enum is generated outside the enum construct of its parent, but in the same source file.
«Java Enum Literal» stereotype applies the following Tag Definitions to a Enumeration Literal:
Java Enum Literal Constructor Default - specifies default constructor values for an enum literal.
Java Enum Literal Overrides - specifies Java enum methods that are overloaded by the enum literal.
«Java Extends» stereotype applies the following Tag Definitions to a Generalization:
Java Actual Arguments- specifies the arguments that are passed to a Java generic data type.
Java Needs Qualified Type- specifies that the data type must be qualified.
«Java Generic» stereotype applies the following Tag Definitions to an Operation:
Java Formal Type Parameters - specifies the formal type parameters for the generic type.
«Java Implements» stereotype applies the following Tag Definitions to a Dependency:
Java Actual Arguments - specifies the arguments that are passed to a Java generic data type.
Java Needs Qualified Type - specifies that the data type must be qualified.
«Java Method» stereotype applies the following Tag Definitions to an Operation:
Java Actual Arguments - specifies the arguments that are passed to a Java generic data type.
Java Array Spec - specifies the array (pairs of empty brackets), which is generated after the data type.
Java Default Access - specifies that the method has no access specifier.
Java Instance Block - specifies that the Operation is generated as an instance block.
Java Method Modifier - specifies a method modifier, which is generated before the data type.
Java Needs Qualified Type - specifies that the method's data type must be qualified.
Java Override- specifies that the method is generated with the @Override annotation before the method declaration.
Java Static Block - specifies that the Operation is generated as a static block (static construction clause).
Java Throws - specifies an exception by referencing the Class, Data Type or Interface that models the exception.
Java Throws Text - specifies an exception textually.
«Java Module» stereotype applies to a Class, Data Type or Interface - specifies that when a Java file is generated for the Class, Data Type or Interface, the item is not defined as a Java class or interface in that file.
«Java Parameter» stereotype applies the following Tag Definitions to an Parameter:
Java Actual Arguments- specifies the arguments that are passed to a Java generic data type.
Java Array Spec - specifies the array (pairs of empty brackets), which is generated after the data type.
Java Is Variable Length- specifies that the parameter is variable length.
Java Needs Qualified Type- specifies that the parameter's data type must be qualified.
«Java Role» stereotype applies the following Tag Definitions to a Role:
Java Actual Arguments - specifies the arguments that are passed to a Java generic data type.
Java Array Spec - specifies the array (pairs of empty brackets), which is generated after the data type.
Java Data Type - when a role to another class is represented by a Java Generic Collection class, this tag definition specifies the Generic Class used to hold that collection (as a linked class).
Java Default Access - specifies that the attribute has no access specifier.
Java Field Modifier - specifies that the attribute is volatile, transient or volatile transient.
Java Generic Name - when a role to another class is represented by a Java Generic Collection class, this tag definition specifies the Generic Class used to hold that collection (as text).
Java Needs Qualified Type - specifies that the attribute's data type must be qualified.