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>
LicenseMIT
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/3.0.1/atd-3.0.1.tbz
sha256=03aeae4565a32d8bb68ac8514af5efc7800b1619c2973941ca7138b12b344884
sha512=412ce655772ddde30a9e22b4d00b263b3edd7241357f3f8a6d13ec6835c5a147a3033740634f8abbc5e32a830f56939cb24c5d3c4b531e55b76d4d20fefe2a64
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/atdj/atdj.3.0.1/opam
No package is dependent