Overview Java¶
Description¶
There are two generators that are related to the Java programing language:
Java
Java Predef
(is only needed for the development of code generators)
Generator Java
¶
When executing the Java
generator with a Virtual Developer Modeler file created with the DSL ‘Basic’, you can only generate bean classes with fields, getters and setters and enumerations. The Java generator can do much more than this, though. The additional functionality is used by more powerful generators that create more complex Java code that uses frameworks or technologies like for instance JEE or implement design patterns or a whole software architecture.
Generator Java Predef
¶
The generator Java Predef
takes jar (or jmod) files as input and generates Java code that can create object representations for all types contained in the jar files.
To use this generator only makes sense when you want to develop code generators yourself.
If you want to know more about this, please read the documentation for the development of code generators with and for Virtual Developer.
It is possible to just use a *.jar or *.jmod file as input. But furthermore it is also possible to add one *.properties file to the input model. The possible key value pairs are:
bundle.name
Set the bundle name in the MANIFESTbundle.version
Set the bundle version in the MANIFEST, also used for Eport-Packagemodel.url
An url where to download the java archive, if it is set the *.properties file is sufficient as input model. To download more than one java archive use model.url.0, model.url.1, …import.version
Set the version of the imports, all valid manifest version entries are allowedimport.version.vd.predef.some.package.name
Set a specific version to this package and all subpackagesimport.add
Add an import entry to the manifest, to add more than one import us import.add.0, import.add.1, …
Example generate.properties file for keycloak (with some unnecessary imports):
bundle.version=4.1.0.Final
bundle.name=vd.predef.keycloak
model.url.0=http://central.maven.org/maven2/org/keycloak/keycloak-servlet-filter-adapter/4.1.0.Final/keycloak-servlet-filter-adapter-4.1.0.Final.jar
model.url.1=http://central.maven.org/maven2/org/keycloak/keycloak-core/4.1.0.Final/keycloak-core-4.1.0.Final.jar
model.url.2=http://central.maven.org/maven2/org/keycloak/keycloak-adapter-spi/4.1.0.Final/keycloak-adapter-spi-4.1.0.Final.jar
model.url.3=http://central.maven.org/maven2/org/keycloak/keycloak-servlet-adapter-spi/4.1.0.Final/keycloak-servlet-adapter-spi-4.1.0.Final.jar
model.url.4=http://central.maven.org/maven2/org/keycloak/keycloak-adapter-core/4.1.0.Final/keycloak-adapter-core-4.1.0.Final.jar
model.url.5=http://central.maven.org/maven2/org/keycloak/keycloak-common/4.1.0.Final/keycloak-common-4.1.0.Final.jar
model.url.6=http://central.maven.org/maven2/org/keycloak/keycloak-authz-client/4.1.0.Final/keycloak-authz-client-4.1.0.Final.jar
import.version.vd.predef.com.fasterxml.jackson=2.8.11
import.version.vd.predef.org.apache=4.4.4
import.version.vd.predef.org.bouncycastle=1.56.0
import.version.vd.predef.java=[8.0.0,11.0.0)
import.version.vd.predef.javax=8.0.0
import.version.vd.predef.org.jboss.logging=3.3.1
import.add.0=vd.predef.some.unnecessary.package
import.add.1=vd.predef.some.unnecessary.package.even.more
import.version.vd.predef.some.unnecessary.package=42.0.0
Prerequisites¶
Technologies, Frameworks, Libraries¶
- Java
- JSE standard libraries
Modeling¶
- Virtual Developer Modeler
- Domain Specific Languages: Basic
Generation¶
- Virtual Developer Cloud Connector (Eclipse, Maven or CLI)