atdjversion Documentation on ocaml.org

Java code generation for ATD

Atdj is a program that generates a Java interface from type definitions. In particular, given a set of ATD type definitions, this tool generates a set of Java classes representing those types with built-in JSON serializers and deserializers

The primary benefits of using the generated interface, over manually manipulating JSON strings from within Java, are safety and ease of use. Specifically, the generated interface offers the following features:

  • JSON strings are automatically checked for correctness with respect to the ATD specification.

  • Details such as optional fields and their associated default values are automatically handled

AuthorsMartin Jambon <martin@mjambon.com>, Martin Jambon <martin@r2c.dev>, Rudi Grinberg <rudi.grinberg@gmail.com>, Martin Jambon <github@mjambon.com>, Alexandre Bourquelot <alexandre.bourquelot@ahrefs.com>, oleksiy <oleksiy.golovko@ahrefs.com>, Ivan Jager <aij+git@mrph.org>, Martin Jambon <martin@semgrep.com>, Gregoire Lionnet <gregoire.lionnet@ahrefs.com>, Sebastien Mondet <sebastien.mondet@ahrefs.com>, David Sheets <sheets@alum.mit.edu>, Rudi Grinberg <me@rgrinberg.com>, Martin Jambon <martin@esper.com>, Rytis Jonynas <rytis.jonynas@ahrefs.com>, Jeff Meister <nanaki@gmail.com>, Raman Varabets <roman.vorobets@gmail.com>, Carmelo Piccione <carmelo.piccione@gmail.com>, Louis <louis.roche@ahrefs.com>, Caio Wakamatsu <caio.wakamatsu@ahrefs.com>, Marek Kubica <marek@tarides.com>, Daniel Weil <danweil68@gmail.com>, Egor Chemokhonenko <egor.chemohonenko@ahrefs.com>, Gabriel Scherer <gabriel.scherer@gmail.com>, Javier Chavarri <javier.chavarri@gmail.com>, Louis Roché (Ahrefs) <louis.roche@ahrefs.com>, Matthew McQuaid <matthew@returntocorp.com>, Raman Varabets <raman+git@ahrefs.com>, koonwen <koonwen@gmail.com>, tzm <frank@boldsolutions.de>, Mathieu Baudet <mathieubaudet@fb.com>, Oleksiy Golovko <alexei.golovko@gmail.com>, Rauan Mayemir <rauan@mayemir.io>, Seb Mondet <seb@mondet.org>, Alexandre Bourquelot <alexandre.bourquelot@gmail.com>, Carmelo Piccione <cep1@solvuu.com>, Hyeseong Kim <hey@hyeseong.kim>, John Billings <john@monkeynut.org>, Louis Roché <louis@louisroche.net>, Mathieu Barbin <mathieu.barbin@gmail.com>, Zach Yannes <zach@returntocorp.com>, Antonin Décimo <antonin@tarides.com>, Brendan Long <self@brendanlong.com>, Chris Yocum <cyocum@gmail.com>, Kate <kit.ty.kate@disroot.org>, Louis Roché <louis.roche@ahrefs.com>, Pavel Antoshkin <pavel.antoshkin@ahrefs.com>, Pierre Boutillier <pierre.boutillier@laposte.net>, Shon Feder <shon.feder@key.me>, metanivek <metanivek@gmail.com>, sebastiantoh <sebas.tsj.98@gmail.com>, Anurag Soni <anuragsoni.13@gmail.com>, Arjun Ravi Narayan <arjunravinarayan@gmail.com>, Asya-kawai <kawai-toshiki@aintek.xyz>, Christophe Troestler <christophe.Troestler@umons.ac.be>, Corentin Leruth <corentin.leruth@gmail.com>, Damien Doligez <ddoligez@janestreet.com>, Daniel M <dan.mntg@gmail.com>, Ding Xiang Fei <dingxiangfei2009@protonmail.ch>, Enrico Tassi <Enrico.Tassi@Inria.fr>, François Pottier <francois.pottier@inria.fr>, Javier Chávarri <javier.chavarri@gmail.com>, Jonas Bergler <jonas@bergler.name>, Kate <kit-ty-kate@exn.st>, Koon Wen Lee <koonwen@gmail.com>, Louis <mail+github@louisroche.net>, Louis Roché <louis@cryptosense.com>, Stephane Legrand <slegrand45@gmail.com>, Vincent Bernardoff <vb@luminar.eu.org>, Zach <zachyannes@gmail.com>, haoyang <haoyang@esper.co>, pmundkur <prashanth.mundkur@gmail.com>, rr0gi <igor@ahrefs.com> and ygrek <ygrek@autistici.org>
LicenseBSD-3-Clause
Published
Homepagehttps://github.com/ahrefs/atd
Issue Trackerhttps://github.com/ahrefs/atd/issues
MaintainersLouis Roché <louis@louisroche.net>, Martin Jambon <martin@mjambon.com> and Rudi Grinberg <me@rgrinberg.com>
Dependencies
Source [http] https://github.com/ahrefs/atd/releases/download/4.1.0/atd-4.1.0.tbz
sha256=73b27ec60efbbea60f311cbca09c104b5537be8733f47727a9f5ed878d6e046c
sha512=ebe523880300c5ff7fb7c1dcf53ffc9b27d7873301d147dc96b338dcdf76080d766aa1e0a06af0130ed901d5114d50c089ac0520513c7740e11a78f28272b2b7
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/atdj/atdj.4.1.0/opam
No package is dependent