The requirements mentioned in the previous sections are subject to the judgment of Technical Support and the urgency of the issue. In addition, you must adhere strictly to the requirements that follow to receive support for Information Modeler.
You can reverse-engineer Java class files into source code using tools that are widely available. Decompiling source code is legally prohibited. PTC will not support class files created by making changes to decompiled source code and replacing existing class files.
You must use one or more of the following languages to ensure that Technical Support can support your customization:
In many cases, other languages may be used to implement a specific function in the customization. Although using this technology is valid, Technical Support limits its support to the usage of the delivered Windchill development materials. It is your responsibility to enable Technical Support to reproduce your issue without having to install, or have specialized knowledge of, these technologies. Some examples of nonsupported customizations include:
You can modify existing Windchill classes if the corresponding source code is provided with the Windchill Customization installation. In most cases modifications only apply to resource bundles. In the case of large source files available to customers, as an Information Modeler (IM) developer, you should take care that only small, reasonable changes are made. You must fully understand the logic of the source code before manipulating it. If you make changes that are inconsistent with the original code, support is provided only on a limited basis. Also, you should indicate any changes clearly in the source file using comments.
For example, you might want to add or delete menus for the WTExplorerFrame class. This action can be done easily and is a valid customization. However, if the underlying logic of the Document Explorer client has been changed completely, such as through the rewriting of large portions of the source code, Technical Support may be unable to provide support.
Although technically every class file in the Windchill codebase can be used in customization source code, usage of Windchill classes is subject to restrictions. Using a class includes accessing any field or method of that class, or creating instances of the class.
To use a class, the class must be described in the JavaDoc. The JavaDoc of every class contains a Supported API field. This entry must be set to true in order for the class to be supported for use within customizations. If a field or method of a class is used, the entry Supported API for this field or method must not be set to false. If there is no Supported API entry field or method, but the class itself is a supported API, then the field or method is considered as supported also.
Extending a class is a special case of using a class. In addition, to make supported class extensions, the parent class must be indicated as extendable in the JavaDoc by the field Extendable: true. All requirements described in Using Windchill Classes apply to extending classes.