Java Code Generation

Tools for Working With Java

Flexible Tools for Java Code Generation & Code Engineering

One the most popular general-purpose computer programming languages, Java® is concurrent, class-based, and object-oriented. The language is relatively easy to learn, and when compiled can run on most operating systems, including Windows, Linux, and Mac OS (write once, run anywhere). Java is used to develop desktop apps, web apps, Android apps, games, and more. Java is now owned by Oracle® Corporation and runs on billions of devices.

Altova provides tools for Java code engineering, including auto-generation of royalty-free Java and reverse-engineering of Java into UML models. Additionally, Altova’s high-performance XML and JSON processing server supports the use of Java extension functions during XSLT and XQuery processing.

A Note About Downloading JDK

Certain processes in Altova products that support Java, such as importing Java binary files in UModel, require that a JDK (Java development kit) be installed on the same machine. All Altova products with Java functionality fully support either of these two options:

  • Open JDK: open source license, available free-of-charge
  • Oracle JDK: available as a paid subscription license

Generate Java from XSD

Generate Java code based on XSD components

To complement to its rich XML and XML Schema development tools, XMLSpy auto-generates program code from XSDs in Java. Code generation is also provided for C# and C++.

XML documents must be bound to an external software application or runtime environment. This requires writing programmatic access methods within your code to create, validate, process, transform, modify or perform any in-memory operation on an XML document.

Without automated code generation, implementing an XML data binding can be a tedious, error-prone task requiring up to hundreds of class files. Luckily, XMLSpy can auto-generate royalty-free program code based on the XML data model defined in an XSD (XML Schema).

Java code generation in XMLSpy provides:

  • Generation of class files based on XSD components
  • Royalty-free Java code generation (as well as C++ and C#)
  • Automated data binding implementation
  • Support for industry-standard XML processing APIs including JAXP
  • Default templates and customization options

Java Code Engineering for UML

Generate Java Code

XML data mapping

UModel, Altova’s powerful UML modeling tool, supports forward engineering with a built-in code generator that creates Java, C++, C#, or Visual Basic .NET code based on the class diagrams, sequence diagrams, and state machine diagrams in your UML model. Royalty-free code generation in Java and other languages frees you from the mundane task of writing low level infrastructure code so you can concentrate on the business logic and overall architecture of your project.

Generate Java code from UML diagrams in UModel

The UModel code generator is based on the same technology used in XMLSpy and MapForce. Supplied Java profiles generate industry-standard Java 1.4, Java 5.0, Java 6.0, Java 7.0, Java 8.0, and Java 9.0 code compatible with Eclipse, Borland® JBuilder®, and other popular Java development environments.

Reverse-engineer Java Applications

UModel includes a powerful reverse engineering capability to read Java source code and binary files to generate UML models for a visual representation that is much clearer and more easily analyzed than the text-based program code. You can import Java source code files from JBuilder, Eclipse, and NetBeans projects by selecting a single directory, a directory tree, or an entire project, and you can choose to merge the imported code into an existing UModel project, or create a new one.

Reverse engineering is helpful for modeling an existing application or getting a new project off to a quick start by importing class libraries that your team has already developed.

In addition, UModel lets you generate sequence diagrams from source code files that have been reverse engineered into UML classes, an invaluable aid to analysis of complex interactions.

Reverse engineer Java into UML diagrams for easy understanding

Round-trip Engineering for Java

As your project evolves, you will modify and add to the original base of generated source code by working directly in the Java source using your favorite IDE. The UModel round-trip engineering capability reads the modified code and automatically updates your UML diagrams accordingly. This synchronization keeps your model accurate and relevant as the code changes.

UModel round-trip engineering supports an iterative development process. After you synchronize the model with revised code, you are still free to choose the best way to work – make further modifications to the code or make changes to your model. You can synchronize in either direction at any time and repeat the cycle as many times as necessary.

Java Code Gen at a Special Price

XMLSpy and UModel with Java support are included in the specially-priced Altova MissionKit software development toolkit. Get 7 products for less than the price of 2!

Java Extension Objects in XSLT/XQuery Processing

RaptorXML Server, Altova’s hyper-fast validation and processing engine for XML, XBRL, and JSON, supports Java extension functions during XSLT and XQuery processing.

To extend the functionality of the XPath/XQuery language, Java extension function can be used within an XPath or XQuery expression to invoke a Java constructor or call a Java method. Read more about calling these Java functions during XSLT and XQuery processing in the RaptorXML help manual.