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/4.0.0/atd-4.0.0.tbz
sha256=3514fe4dc4e788640b3e9a9fec3b5b106e6f609b59d28522701de1bd2ea909f1
sha512=35c1fa7b7289ed52a59de06292171cc61df3098e011a0455c0aa54bc7e617f5b00542a3d63c328ef2bc68d4c0a4259ea642c33b0bfe74e2245afcd7206b7f5c8
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/atdj/atdj.4.0.0/opam
No package is dependent